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


How to get path of the php binary on server where it is located

我在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二进制文件)在生产服务器上的位置。

通常是/usr/bin/php,但您可以尝试捕获和解析命令' whereis php ' 或 ' which php' ' 的输出。

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

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

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

// composer require symfony/process
use Symfony'Component'Process'PhpExecutableFinder;
(new PhpExecutableFinder)->find();

尝试以下两个步骤:updateb(只需要运行一次即可更新定位索引)查找 PHP |grep -P "/php$"

locate 命令应显示服务器上文件名或文件夹名称中带有"php"的所有文件。"grep"管道将结果过滤到以"/php"结尾的内容。