質問: WordPressの「WP Video Posts」というプラグインで標記の問題が発生しています。 プラグインの中で、ffmpegのインストール状況をチェックする関数が exec("which ffmpeg",$output,$status); を実行し、ffmpegのフルパスを取りたいらしいのですが、 このとき$status=1(異常)になって、$outputが空になります。 試しに exec("which ffmpeg 2>&1",$output,$status); と書いたところ、$outputに「which: no ffmpeg in ((null))」が返ってきて、 PATHが通っていないことに気づきました。 ちなみに、同じスクリプトをコンソールから叩いた場合には、 正しい結果「/usr/bin/ffmpeg」が取得できます。 Webから実行した時だけ、上手く行きません。 (Webとコンソールは同じユーザーです) 以下、サーバーの情報です。 CentOS 6.4 PHP 5.3.3 nginx 1.4.2 php-fpm WordPress 3.9.2 WP Video Posts 3.1.5 nginxの実行ユーザー:nginx php-fpm(PHP)の実行ユーザー:nginx 環境変数「PATH」さえ通れば、問題が解決するのではないかと思っています。 開発方法をご存知の方、ご教示ください。 宜しくお願い致します。
回答: phpはサーバー環境で動くアプリなんですから 「あればラッキー」的なwhichを使うことはない 最初からフルパス指定するだけでしょう