我有一个简单的测试用例设置如下:
exec('/path/to/bash/script', $output, $return);
这段代码成功启动了一个bash脚本,其中包含以下内容:
#!/usr/bin/env bash
exec php -q /path/to/php/script.php
这是失败的地方。 PHP脚本永远不会执行,浏览器只是等待响应,直到几分钟后导致500错误。
它试图运行的PHP脚本只有一行:
#!/usr/bin/php -q
<?php
file_put_contents('/path/to/folder/output.txt', 'some text');
?>
值得注意的一些事情:
有什么想法吗?
答案 0 :(得分:0)
感谢Marc B找到了解决方案。问题是PHP bin的路径。即使存在/ usr / bin / php路径并且在环境中设置了php变量,我也需要将它们都更改为/ usr / local / bin / php。这是我在PHP_BINDIR常量中找到的正确路径。