Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann man Passthru, Exec und System sicher verwenden, wenn PHP Python aufruft?

Wie kann man Passthru, Exec und System sicher verwenden, wenn PHP Python aufruft?

WBOY
WBOYOriginal
2016-08-08 09:06:331292Durchsuche

Es gibt zwei verwandte Fragen:

1.
Wenn Sie exec verwenden, müssen Sie „disable_functions“ entfernen.

Wie sorgt man für Sicherheit?

2. Platzieren Sie 1.php und test.py im selben Verzeichnis
1.php:

<code><?php
   exec('python test.py');
?>
</code>

test.py:
print '1234'

http://localhost/1.php anrufen, aber keine Antwort?

Antwortinhalt:

Es gibt zwei verwandte Fragen:

1.
Wenn Sie exec verwenden, müssen Sie „disable_functions“ entfernen.

Wie sorgt man für Sicherheit?

2. Platzieren Sie 1.php und test.py im selben Verzeichnis
1.php:

<code><?php
   exec('python test.py');
?>
</code>

test.py:
print '1234'

http://localhost/1.php anrufen, aber keine Antwort?

Wenn beim Aufruf von Python in PHP keine Antwort erfolgt, liegt möglicherweise ein Problem mit Umgebungsvariablen vor. Sie können versuchen, den absoluten Pfad von Python oder den absoluten Pfad der aufzurufenden Python-Datei zu verwenden.
Wenn keine Sonderbehandlung erfolgt, handelt es sich bei diesem Aufruf möglicherweise um einen synchronen Aufruf von http. Dieser Ort wartet auf die Ausführung von Python und kann zu einer Zeitüberschreitung führen.

Versuchen Sie, exec und andere Funktionen im CLI-Modus zu verwenden

PHP direkt mit Python anpassen

Stellungnahme:
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