ホームページ  >  記事  >  バックエンド開発  >  PHPが外部コマンドを実行できない場合の対処方法

PHPが外部コマンドを実行できない場合の対処方法

藏色散人
藏色散人オリジナル
2022-10-25 10:06:581323ブラウズ

php が外部コマンドを実行できない問題の解決策: 1. セーフ モードがオンになっているかどうかを確認します; 2. パス「safe_mode_exec_dir」にあるファイルを実行します; 3. 「php.ini」で特定のパスを設定します「。」

PHPが外部コマンドを実行できない場合の対処方法

このチュートリアルの動作環境: Windows 7 システム、PHP バージョン 8.1、Dell G3 コンピューター。

php が外部コマンドを実行できない場合はどうすればよいですか?

問題の説明:

PHP を使用して adb.exe を実行し、Android 携帯電話に接続して通信する準備をしていますが、exec("adb connect 192.168.1.10",$out); またはシステム関数が動作しません。

たとえば、

exec("adb connect 192.168.1.10",$out);
print_r($out);

は接続情報やエラー情報を出力するはずですが、結果は何も出力されません。 cmd

で実行する場合は問題ありません。結局、方法はありません。batでコマンドを書き、phpでbatを実行します。これは問題ありませんが、phpでbatを実行すると、 Windows の環境変数が有効になっていないようです

それで非常に面倒です;

誰か助けてくれて、

exec("adb connect 192.168.168.168. 1.10",$out);

を実行するか、php がバットを実行するプロセスで環境変数を実装するには

fc コマンドのような doc の他のコマンドを試しましたこれはexec

で実行でき、fcコマンドはc:\windows\system32\fc.exeによって呼び出されます。exeは機能します

しかし、私はadbをc:\windows\system32\にコピーしました。それでも動作しません

! ! !

解決策:

まず、セーフ モードがオンになっているかどうかを確認する必要があります。

セーフ モードが有効な場合、このパスにあるファイルの実行に使用できるのは、safe_mode_exec_dir のみです。

特定のパスは php.ini で構成されます。設定項目:safe_mode_exec_dir

以下はPHPの公式説明です:

safe_mode_exec_dir

PHPがセーフモードを使用する場合、system()などのプログラムが必要になります。この関数は、このディレクトリにないプログラムの起動を拒否します。 Windows の場合も含め、ディレクトリ区切り文字として / を使用する必要があります。

推奨学習: 「PHP ビデオ チュートリアル

以上がPHPが外部コマンドを実行できない場合の対処方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。