π₯ ΠΠ°ΠΊ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠΊΡΠΈΠΏΡ Python ΠΈΠ· PHP? ΠΡΡΡΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ!
ΠΠ°ΠΊ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠΊΡΠΈΠΏΡ Python ΠΈΠ· PHP?
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠΊΡΠΈΠΏΡ Python ΠΈΠ· PHP, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΠ½ΠΊΡΠΈΡ exec
ΠΈΠ»ΠΈ shell_exec
. ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ:
// ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ exec()
exec('python script.py', $output);
print_r($output);
// ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ shell_exec()
$output = shell_exec('python script.py');
echo $output;
ΠΠ΄Π΅ΡΡ script.py
- ΡΡΠΎ ΠΈΠΌΡ Π²Π°ΡΠ΅Π³ΠΎ ΡΠΊΡΠΈΠΏΡΠ° Python. Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ ΠΏΡΡΡ ΠΊ ΡΠ°ΠΉΠ»Ρ ΡΠΊΡΠΈΠΏΡΠ° ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ.
ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠΊΡΠΈΠΏΡ Python ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π΅Π³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π² PHP. Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Π½Π° Π²Π°ΡΠ΅ΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ Python, ΠΈ ΡΡΠΎ ΠΏΡΡΡ ΠΊ Π½Π΅ΠΌΡ ΡΠΊΠ°Π·Π°Π½ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ Π² ΡΠΊΡΠΈΠΏΡΠ΅.
ΠΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ
ΠΠ°ΠΊ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠΊΡΠΈΠΏΡ Python ΠΈΠ· PHP?
ΠΠ°ΠΏΡΡΠΊΠ°ΡΡ ΡΠΊΡΠΈΠΏΡΡ Python ΠΈΠ· PHP ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌ, ΠΊΠΎΠ³Π΄Π° Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ Python Π² Π²Π°ΡΠ΅ΠΌ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π½Π° PHP. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² Π·Π°ΠΏΡΡΠΊΠ° ΡΠΊΡΠΈΠΏΡΠΎΠ² Python ΠΈΠ· PHP ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΠΌ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΊΠΎΠ΄Π° Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Π½ΠΈΡ .
1. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ exec()
ΠΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² Π·Π°ΠΏΡΡΠΊΠ° ΡΠΊΡΠΈΠΏΡΠ° Python ΠΈΠ· PHP ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ exec(). Π€ΡΠ½ΠΊΡΠΈΡ exec() ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π°ΠΌ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅, Π²ΠΊΠ»ΡΡΠ°Ρ Π·Π°ΠΏΡΡΠΊ ΡΠΊΡΠΈΠΏΡΠΎΠ² Python.
$pythonScript = "path/to/your/python/script.py";
$output = exec("python $pythonScript");
echo $output;
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ ΠΏΡΡΡ ΠΊ ΡΠΊΡΠΈΠΏΡΡ Python Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ $pythonScript. ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ exec() Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ "python $pythonScript", ΠΊΠΎΡΠΎΡΠ°Ρ Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ ΡΠΊΡΠΈΠΏΡ Python. Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΊΡΠΈΠΏΡΠ° ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΡΡ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ $output, ΠΈ ΠΌΡ Π²ΡΠ²ΠΎΠ΄ΠΈΠΌ ΡΡΠΎΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ echo.
2. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ passthru()
ΠΡΡΠ³ΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± Π·Π°ΠΏΡΡΠΊΠ° ΡΠΊΡΠΈΠΏΡΠ° Python ΠΈΠ· PHP - ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ passthru(). Π€ΡΠ½ΠΊΡΠΈΡ passthru() ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅, Π½ΠΎ ΠΎΠ½Π° ΠΏΠ΅ΡΠ΅Π΄Π°Π΅Ρ Π²ΡΠ²ΠΎΠ΄ Π½Π°ΠΏΡΡΠΌΡΡ Π½Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ Π²ΡΠ²ΠΎΠ΄ Π²Π°ΡΠ΅Π³ΠΎ PHP-ΡΠΊΡΠΈΠΏΡΠ°.
$pythonScript = "path/to/your/python/script.py";
passthru("python $pythonScript");
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ passthru() Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ "python $pythonScript", ΠΊΠΎΡΠΎΡΠ°Ρ Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΡΠΊΡΠΈΠΏΡ Python. Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΊΡΠΈΠΏΡΠ° Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π½Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ Π²ΡΠ²ΠΎΠ΄ Π²Π°ΡΠ΅Π³ΠΎ PHP-ΡΠΊΡΠΈΠΏΡΠ°.
3. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ shell_exec()
Π’ΡΠ΅ΡΠΈΠΉ ΡΠΏΠΎΡΠΎΠ± Π·Π°ΠΏΡΡΠΊΠ° ΡΠΊΡΠΈΠΏΡΠ° Python ΠΈΠ· PHP - ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ shell_exec(). Π€ΡΠ½ΠΊΡΠΈΡ shell_exec() Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π²ΡΠ²ΠΎΠ΄ Π² Π²ΠΈΠ΄Π΅ ΡΡΡΠΎΠΊΠΈ.
$pythonScript = "path/to/your/python/script.py";
$output = shell_exec("python $pythonScript");
echo $output;
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ shell_exec() Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ "python $pythonScript", ΠΊΠΎΡΠΎΡΠ°Ρ Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΡΠΊΡΠΈΠΏΡ Python. Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΊΡΠΈΠΏΡΠ° ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΡΡ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ $output, ΠΈ ΠΌΡ Π²ΡΠ²ΠΎΠ΄ΠΈΠΌ ΡΡΠΎΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ echo.
4. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ system()
Π§Π΅ΡΠ²Π΅ΡΡΡΠΉ ΡΠΏΠΎΡΠΎΠ± Π·Π°ΠΏΡΡΠΊΠ° ΡΠΊΡΠΈΠΏΡΠ° Python ΠΈΠ· PHP - ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ system(). Π€ΡΠ½ΠΊΡΠΈΡ system() ΡΠ°ΠΊΠΆΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅, Π½ΠΎ ΠΎΠ½Π° Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π½Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ Π²ΡΠ²ΠΎΠ΄ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.
$pythonScript = "path/to/your/python/script.py";
$output = system("python $pythonScript", $returnVar);
echo $output;
echo $returnVar;
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ system() Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ "python $pythonScript", ΠΊΠΎΡΠΎΡΠ°Ρ Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΡΠΊΡΠΈΠΏΡ Python. Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΊΡΠΈΠΏΡΠ° Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π½Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ Π²ΡΠ²ΠΎΠ΄ Π²Π°ΡΠ΅Π³ΠΎ PHP-ΡΠΊΡΠΈΠΏΡΠ°, Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΡΡ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ $returnVar.
5. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ Python PHP
Π PHP ΡΠ°ΠΊΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ Python PHP, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ API Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΠΊΠΎΠ΄Π° Python ΠΈΠ· PHP. ΠΡΠΎ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌ, Π΅ΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΠΎΠ΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ PHP ΠΈ Python.
$pythonCode = '
import sys
print("Hello, " + sys.argv[1])';
$python = python_php();
$result = $python->exec($pythonCode, array("World"));
echo $result;
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ Python PHP Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ΄Π° Python ΠΏΡΡΠΌΠΎ Π²Π½ΡΡΡΠΈ PHP. ΠΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ ΠΊΠΎΠ΄ Python Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ $pythonCode ΠΈ Π·Π°ΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΌΠ΅ΡΠΎΠ΄ exec() ΠΎΠ±ΡΠ΅ΠΊΡΠ° Python, ΡΡΠΎΠ±Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΡΠΎΡ ΠΊΠΎΠ΄. Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ echo.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² Π·Π°ΠΏΡΡΠΊΠ° ΡΠΊΡΠΈΠΏΡΠ° Python ΠΈΠ· PHP. ΠΡΠ±ΠΎΡ ΡΠΏΠΎΡΠΎΠ±Π° Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ Π²Π°ΡΠΈΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΠ΅ΠΉ ΠΈ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠ΅Π½ΠΈΠΉ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΊΠΎΠ΄Π°, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΡΠ΅ Π² ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅, ΡΡΠΎΠ±Ρ Π½Π°ΡΠ°ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΠΎ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ Python ΠΈ PHP Π² Π²Π°ΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ .