首页 文章

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

提问于
浏览
0

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

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

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

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

请帮忙!

1 回答

  • 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服务器会话有关 . 运行这些命令时,他发现输出是“未找到命令” . 当$ PATH不包含所需命令的路径(在本例中为firebase和node)时,将返回此错误 .

    为了解决这个问题,他必须在当前会话中将此路径添加到$ PATH,因此可以调用“firebase deploy” .

    再次感谢,Firebase!

相关问题