Heim > Backend-Entwicklung > PHP-Problem > Was tun, wenn PHP externe Befehle nicht ausführen kann?

Was tun, wenn PHP externe Befehle nicht ausführen kann?

藏色散人
Freigeben: 2023-03-17 09:04:01
Original
1422 Leute haben es durchsucht

Lösung für das Problem, dass PHP keine externen Befehle ausführen kann: 1. Überprüfen Sie, ob der abgesicherte Modus aktiviert ist. 2. Führen Sie die Datei unter dem Pfad „safe_mode_exec_dir“ aus. 3. Konfigurieren Sie den spezifischen Pfad in „php.ini“.

Was tun, wenn PHP externe Befehle nicht ausführen kann?

Die Betriebsumgebung dieses Tutorials: Windows 7-System, PHP-Version 8.1, Dell G3-Computer.

Was soll ich tun, wenn PHP externe Befehle nicht ausführen kann?

Problembeschreibung:

Ich habe vor, PHP zu verwenden, um adb.exe auszuführen, um eine Verbindung zum Android-Telefon herzustellen und mit ihm zu kommunizieren, aber die Verwendung von exec("adb connect 192.168.1.10",$out); oder der Systemfunktion funktioniert funktioniert nicht. Es funktioniert nicht.

Zum Beispiel

exec("adb connect 192.168.1.10",$out);
print_r($out);
Nach dem Login kopieren

Es ​​sollte Verbindungs- oder Fehlerinformationen ausgegeben haben, aber es gibt nichts, aber wenn ich es unter cmd ausführe, gibt es kein Problem

Am Ende gibt es eines Auf keinen Fall, ich benutze bat, um den Befehl zu schreiben, und PHP führt bat aus. Das ist in Ordnung, aber wenn ich bat in PHP ausführe, scheinen die Windows-Umgebungsvariablen nicht wirksam zu sein

Es ist also sehr problematisch;

Kann jemand Helfen Sie mir und sagen Sie mir, wie ich

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

Dieses Formular kann zum Ausführen oder Implementieren von Umgebungsvariablen im Prozess der PHP-Ausführung von bat verwendet werden. Das habe ich Ich habe andere Befehle von doc ausprobiert, wie den fc-Befehl, der mit exec ausgeführt werden kann, und der fc-Befehl kann durch Aufrufen von c:windowssystem32fcexe ausgeführt werden. Aber ich habe meine ADB nach c:windowssystem32 kopiert und es funktioniert immer noch. Funktioniert nicht

! ! !

Lösung:

Zunächst müssen Sie sicherstellen, dass der abgesicherte Modus aktiviert ist.

Wenn der abgesicherte Modus aktiviert ist, können Dateien nur unter dem Pfad „safe_mode_exec_dir“ ausgeführt werden.

Der spezifische Pfad wird in php.ini konfiguriert. Konfigurationselement: safe_mode_exec_dirDas Folgende ist die offizielle Beschreibung von PHP:

Wenn PHP den abgesicherten Modus verwendet, verweigern system() und andere Programmausführungsfunktionen den Start von Programmen, die sich nicht in diesem Verzeichnis befinden. Sie müssen / als Verzeichnistrennzeichen verwenden, auch unter Windows.

Empfohlenes Lernen: „

PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt vonWas tun, wenn PHP externe Befehle nicht ausführen kann?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
php
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage