PHP で exec() 関数の戻り値がない場合のトラブルシューティング方法

墨辰丷
リリース: 2023-03-27 19:10:01
オリジナル
1695 人が閲覧しました

この記事では主に、PHP で戻り値がない exec() 関数のトラブルシューティング方法を紹介します。興味のある方はぜひ参考にしてください。

imagemagic を保護するために exec を使用する必要がある場合、多くのサーバーでインストールが失敗します。

exec() は外部コマンドの実行に失敗しますが、エラー メッセージは表示されません。

コマンドラインで特定のコマンドを実行するとexecは問題ないのですが、phpではエラーが発生します。この問題は 99.99% パーミッションに関連していますが、exec によって実行されたコマンドはエラーを返しません。 1 つのトリックは、exec 呼び出しが次のようになっていると仮定して、パイプ コマンドを使用することです:

exec('convert a.jpg b.jpg', $output, $return_val);
ログイン後にコピー

は次のように変更できます:

exec('convert a.jpg b.jpg 2>&1', $output, $return_val); 


print_r($output);
ログイン後にコピー

Use 2>&1,コマンドはシェルを出力します。実行中のエラーは $output 変数に送信され、変数を出力することで分析できます。

備考: exec には 3 つのパラメータがあり、最初のパラメータは実行されるコマンド、2 番目のパラメータは配列、配列の値は最初のコマンドの実行後に生成されます。 3 番目のパラメータは実行ステータス、0は成功を示し、その他は失敗を示します。

phpには、外部コマンドの実行に使用できるsystem、exec、およびpassthruの3つの関数があります。

以上がこの記事の全内容です、皆様の学習のお役に立てれば幸いです。


関連する推奨事項:

Apache でテストした後の文字化けの問題を解決する方法

PHP Curl を使用してログインとデータのキャプチャをシミュレートする例

php は Cookie を使用します ImpleメントWebページ上のユーザー名とパスワードを記憶する機能

以上がPHP で exec() 関数の戻り値がない場合のトラブルシューティング方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!