通过shell_exec()从PHP调用'firebase deploy'不起作用

时间:2016-03-15 21:45:43

标签: php firebase firebase-hosting firebase-tools

我正在尝试使用PHP自动部署使用Firebase托管资产。我试图在PHP中使用shell_exec()调用'firebase deploy',但到目前为止,我似乎无法让它工作。如果我将输出传递给一个输出,则不会返回任何输出,也不会将任何内容写入日志文件。

有没有办法使用PHP自动化Firebase部署?

(有趣的是:由于'firebase'命令需要从将被推送的实际公共目录中调用,我猜我需要调用'/usr/local/bin/firebase deploy'并传入Firebase目录的参数我想使用-p标志推送。这是正确的还是我可以完全省略-p?)

当我手动输入时,Firebase部署在命令行上运行正常。

请帮忙!

1 个答案:

答案 0 :(得分:1)

在联系Firebase之后,他们的一个非常棒的开发者帮助了我,他建议这个,这对我有用:

<!DOCTYPE html>
<html>
<body>
<?php
exec('PATH=/usr/local/bin:$PATH && firebase deploy', $output);
print_r($output);
?>
</body>
</html>

感谢Firebase的支持,我得到了这个工作。它基本上与Apache和Web会话有关。需要$ PATH:

问题与Web服务器会话有关。运行这些命令时,他发现输出是&#34;命令未找到&#34;。当$ PATH不包含所需命令的路径(在本例中为firebase和节点)时,将返回此错误。

要解决此问题,他必须在当前会话中将此路径添加到$ PATH,因此可以调用&#39; firebase deploy&#39;。

再次感谢,Firebase!