我在PHP中使用如下exec
命令:
exec("/usr/bin/php /path/to/Notification.php >> /path/to/log_file.log 2>&1 &");
在我的本地环境(MAMP)中,我知道PHP安装路径,因此我可以用/usr/bin/php
替换/Applications/MAMP/bin/php/php5.4.10/bin/php
。但我不知道PHP安装(PHP二进制文件)在生产服务器上的位置。
答案 0 :(得分:16)
通常为/usr/bin/php
,但您可以尝试捕获并解析命令“whereis php
”或“which php'
”的输出。
或者更好的是,如果可用,请使用常量PHP_BINARY
。看看here。
答案 1 :(得分:6)
大多数情况下,PHP_BINARY
predefined constant应该完成这项工作。
如果你需要更发达的东西,你可以使用它的Process component类来使用Symfony的PhpExecutableFinder:
// composer require symfony/process
use Symfony\Component\Process\PhpExecutableFinder;
(new PhpExecutableFinder)->find();
答案 2 :(得分:0)
尝试以下两个步骤: Updatedb(只需运行一次即可更新定位索引) 找到php | grep -P“ / php $”
locate命令应显示文件名或文件夹名称中带有“ php”的服务器上的所有文件。 “ grep”管道将结果过滤到以“ / php”结尾的内容。