17

execPHP で以下のコマンドを使用しています。

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 バイナリー) が本番サーバーのどこにあるのかわかりません。

4

3 に答える 3

30

通常はそうですが、コマンド ' ' または ' '/usr/bin/phpの出力をキャプチャして解析することもできます。whereis phpwhich php'

PHP_BINARYまたはさらに良いことに、利用可能な場合は定数を使用します。こちらをご覧ください。

于 2013-09-06T11:30:14.927 に答える
9

ほとんどの場合、PHP_BINARY 事前定義された定数で問題は解決します。

さらに開発したものが必要な場合は、Symfony のProcess コンポーネントを利用できます。そのPhpExecutableFinderクラスを使用します。

// composer require symfony/process

use Symfony\Component\Process\PhpExecutableFinder;

(new PhpExecutableFinder)->find();
于 2015-09-30T07:57:42.417 に答える