如何在服务器获取 php 二进制文件所在位置的路径

我正在PHP中使用如下命令:exec

exec("/usr/bin/php /path/to/Notification.php >> /path/to/log_file.log 2>&1 &");

在我的本地环境(MAMP)中,我知道PHP安装路径,因此我可以替换为.但我不知道PHP安装(PHP二进制文件)在生产服务器上的位置。/usr/bin/php/Applications/MAMP/bin/php/php5.4.10/bin/php


答案 1

通常,但您可以尝试捕获并解析命令“”或“”的输出。/usr/bin/phpwhereis phpwhich php'

或者更好的是,如果常量可用,请使用它。看看这里PHP_BINARY


答案 2

大多数情况下,预定义的常量应该可以完成工作。PHP_BINARY

如果你需要更开发的东西,你可以使用Symfony的Process组件,通过使用它的PhpExecutableFinder类:

// composer require symfony/process

use Symfony\Component\Process\PhpExecutableFinder;

(new PhpExecutableFinder)->find();

推荐