通过 shell_exec() 从 PHP 调用 'firebase deploy' 无效
Calling 'firebase deploy' from PHP via shell_exec() doesn't work
我正在尝试使用 PHP 通过 Firebase 自动部署托管资产。我试图在 PHP 中使用 shell_exec() 调用 'firebase deploy',但到目前为止我似乎无法让它工作。不返回任何输出,如果我将输出通过管道传输到一个日志文件,则不会将任何内容写入日志文件。
有什么方法可以使用 PHP 自动部署 Firebase 吗?
(有趣的注意事项:由于 'firebase' 命令需要从将被推送的实际 public 目录中调用,我猜我需要调用 '/usr/local/bin/firebase deploy'
和使用 -p
标志传入我要推送的 Firebase 目录的参数。这是正确的还是我可以完全省略 -p
?)
当我手动输入时,Firebase 部署在命令行上工作正常。
请帮忙!
在联系 Firebase 之后,他们的一位出色的开发人员帮助了我,他提出了这个对我有用的建议:
<!DOCTYPE html>
<html>
<body>
<?php
exec('PATH=/usr/local/bin:$PATH && firebase deploy', $output);
print_r($output);
?>
</body>
</html>
多亏了 Firebase 的支持,我才开始工作。它基本上与 Apache 和网络会话有关。需要 $PATH:
问题与网络服务器会话有关。当运行那些命令时,他发现输出是"command not found"。当 $PATH 不包含所需命令(在本例中为 firebase 和节点)的路径时返回此错误。
要解决此问题,他必须在当前会话中将此路径添加到 $PATH,因此可以调用 'firebase deploy'。
再次感谢 Firebase!
我正在尝试使用 PHP 通过 Firebase 自动部署托管资产。我试图在 PHP 中使用 shell_exec() 调用 'firebase deploy',但到目前为止我似乎无法让它工作。不返回任何输出,如果我将输出通过管道传输到一个日志文件,则不会将任何内容写入日志文件。
有什么方法可以使用 PHP 自动部署 Firebase 吗?
(有趣的注意事项:由于 'firebase' 命令需要从将被推送的实际 public 目录中调用,我猜我需要调用 '/usr/local/bin/firebase deploy'
和使用 -p
标志传入我要推送的 Firebase 目录的参数。这是正确的还是我可以完全省略 -p
?)
当我手动输入时,Firebase 部署在命令行上工作正常。
请帮忙!
在联系 Firebase 之后,他们的一位出色的开发人员帮助了我,他提出了这个对我有用的建议:
<!DOCTYPE html>
<html>
<body>
<?php
exec('PATH=/usr/local/bin:$PATH && firebase deploy', $output);
print_r($output);
?>
</body>
</html>
多亏了 Firebase 的支持,我才开始工作。它基本上与 Apache 和网络会话有关。需要 $PATH:
问题与网络服务器会话有关。当运行那些命令时,他发现输出是"command not found"。当 $PATH 不包含所需命令(在本例中为 firebase 和节点)的路径时返回此错误。
要解决此问题,他必须在当前会话中将此路径添加到 $PATH,因此可以调用 'firebase deploy'。
再次感谢 Firebase!