无法通过Bash脚本执行PHP脚本

时间:2014-03-21 13:44:24

标签: php linux bash

我有一个简单的测试用例设置如下:

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');

?>

值得注意的一些事情:

  • 如果我通过CLI运行它,Bash脚本会运行PHP代码。
  • 本地服务器上的一切正常,通过OS X上的XAMPP安装
  • 问题出在远程服务器上。已安装WHM / cPanel的CentOS。
  • 上述文件拥有777个权限。
  • 我无法从exec()函数的返回值中获得任何线索,因为脚本在“挂起”几分钟后以500错误结束。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

感谢Marc B找到了解决方案。问题是PHP bin的路径。即使存在/ usr / bin / php路径并且在环境中设置了php变量,我也需要将它们都更改为/ usr / local / bin / php。这是我在PHP_BINDIR常量中找到的正确路径。