0

我要疯了……

我正在尝试执行 electron-pdf 以从 PHP 应用程序(使用 Laravel)和 PHP 7.0.23 生成一些 PDF。

当使用“php artisan serve”运行应用程序时,它使用 php-cli,运行以下工作正常并生成我的 PDF:

shell_exec("electron-pdf $inputURL $outputFile");

当通过 nginx(使用 php-fpm)为应用程序提供服务时,这个命令什么都不做。

所以我去调试这个问题......我试过运行shell_exec("node -v")但是在php-fpm下它没有运行,所以我注意到php-fpm使用的PATH不是用户定义的路径池,所以我已经定义了env[PATH]变量,现在 php-fpm 看到了正确的路径,与 php-cli 使用的路径相同。

现在,如果我打电话shell_exec("node -v"),我v8.4.0会在 cli 和 fpm 中看到。所以我认为一切都很好!然后我尝试shell_exec("electron-pdf --version")了......它在cli上打印得很好,但在fpm上什么也没做......

我该如何调试呢?发生了什么?php-cli 和 php-fpm 以相同的用户身份运行,具有相同的路径,怎么会有不同的行为呢?

非常感谢,如果您需要更多信息,我会相应地编辑问题,因为我没有足够的声誉来发表评论。

PS:chroot被禁用,安全模式被关闭,shell_exec不在disable_functions中

4

0 回答 0