exec
(PHP 4, PHP 5, PHP 7, PHP 8)
exec β ΠΠΈΠΊΠΎΠ½Π°ΡΠΈ Π·ΠΎΠ²Π½ΡΡΠ½Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΡ
ΠΠΏΠΈΡ
exec(string $command, array &$output = null, int &$result_code = null): string|false
exec() Π²ΠΈΠΊΠΎΠ½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ command
Π‘ΠΏΠΈΡΠΎΠΊ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡΠ²
command
ΠΠΎΠΌΠ°Π½Π΄Π°, ΡΠΊΠ° Π±ΡΠ΄Π΅ Π²ΠΈΠΊΠΎΠ½Π°Π½Π°.
output
Π―ΠΊΡΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ output
Π²ΠΊΠ°Π·Π°Π½ΠΎ, ΡΠΎ ΠΌΠ°ΡΠΈΠ² Π±ΡΠ΄Π΅ Π·Π°ΠΏΠΎΠ²Π½Π΅Π½ΠΈΠΉ ΡΡΠ΄ΠΊΠ°ΠΌΠΈ Π²ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ. ΠΠ°Π²Π΅ΡΡΠ°Π»ΡΠ½Ρ ΠΏΡΠΎΠ³Π°Π»ΠΈΠ½ΠΈ, ΡΠ°ΠΊΡ ΡΠΊ \n
, Π½Π΅ Π±ΡΠ΄ΡΡΡ Π²ΠΊΠ»ΡΡΠ΅Π½Ρ Π΄ΠΎ ΠΌΠ°ΡΠΈΠ²Ρ. ΠΠ²Π΅ΡΠ½ΡΡΡ ΡΠ²Π°Π³Ρ, ΡΠΎ ΡΠΊΡΠΎ ΠΌΠ°ΡΠΈΠ² Π²ΠΆΠ΅ ΠΌΡΡΡΠΈΡΡ ΡΠΊΡΡΡ Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈ, ΡΠΎ exec() Π΄ΠΎΠ΄Π°ΡΡΡ Π½ΠΎΠ²Ρ Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈ Π΄ΠΎ ΠΊΡΠ½ΡΡ ΠΌΠ°ΡΠΈΠ²Ρ. Π―ΠΊΡΠΎ Π²ΠΈ Π½Π΅ Π±Π°ΠΆΠ°ΡΡΠ΅, ΡΠΎΠ± ΡΡΠ½ΠΊΡΡΡ Π΄ΠΎΠ΄Π°Π²Π°Π»Π° Π½ΠΎΠ²Ρ Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈ Π² ΠΊΡΠ½Π΅ΡΡ, Π²ΠΈΠΊΠ»ΠΈΡΡΠ΅ unset() Π½Π° ΡΡΠΎΠΌΡ ΠΌΠ°ΡΠΈΠ²Ρ, ΠΏΠ΅ΡΡ Π½ΡΠΆ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΠΉΠΎΠ³ΠΎ Π² exec()
result_code
Π―ΠΊΡΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ result_code
ΠΏΡΠΈΡΡΡΠ½ΡΠΉ ΡΠ°Π·ΠΎΠΌ Π· output
, Π’ΠΎΠ΄Ρ ΡΡΠ°ΡΡΡ ΠΏΠΎΠ²Π΅ΡΠ½Π΅Π½Π½Ρ Π²ΠΈΠΊΠΎΠ½Π°Π½ΠΎΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π±ΡΠ΄Π΅ Π·Π°ΠΏΠΈΡΠ°Π½ΠΈΠΉ Ρ ΡΡΠΉ Π·ΠΌΡΠ½Π½ΡΠΉ.
ΠΠ½Π°ΡΠ΅Π½Π½Ρ, ΡΠΎ ΠΏΠΎΠ²Π΅ΡΡΠ°ΡΡΡΡΡ
ΠΡΡΠ°Π½Π½ΡΠΉ ΡΡΠ΄ΠΎΠΊ ΡΠ· ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ. Π―ΠΊΡΠΎ ΠΏΠΎΡΡΡΠ±Π½ΠΎ Π²ΠΈΠΊΠΎΠ½Π°ΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠ° ΠΎΡΡΠΈΠΌΠ°ΡΠΈ Π²ΡΡ Π΄Π°Π½Ρ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π±Π΅Π· Π±ΡΠ΄Ρ-ΡΠΊΠΎΡ ΠΎΠ±ΡΠΎΠ±ΠΊΠΈ, Π²ΠΈΠΊΠΎΡΠΈΡΡΠΎΠ²ΡΠΉΡΠ΅ ΡΡΠ½ΠΊΡΡΡ passthru()
ΠΠΎΠ²Π΅ΡΡΠ°Ρ **false
**Π² ΡΠ»ΡΡΠ°Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ ΠΎΡΠΈΠ±ΠΊΠΈ.
Π©ΠΎΠ± ΠΎΡΡΠΈΠΌΠ°ΡΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΠΈΠΊΠΎΠ½Π°Π½Π½Ρ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ, ΠΏΠ΅ΡΠ΅ΠΊΠΎΠ½Π°ΠΉΡΠ΅ΡΡ, ΡΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ output
ΡΠ½ΡΡΡΠ°Π»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΉ ΡΠ° Π²ΠΈΠΊΠΎΡΠΈΡΡΠΎΠ²ΡΡΡΡΡΡ.
ΠΠΎΠΌΠΈΠ»ΠΊΠΈ
ΠΠΈΠ΄Π°Ρ ΠΏΠΎΠΌΠΈΠ»ΠΊΡ ΡΡΠ²Π½Ρ E_WARNING
, ΡΠΊΡΠΎ ΡΡΠ½ΠΊΡΡΡ exec() Π½Π΅ ΠΌΠΎΠΆΠ΅ Π²ΠΈΠΊΠΎΠ½Π°ΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ command
ΠΠΈΠΊΠΈΠ΄Π°Ρ Π²ΠΈΠ½ΡΡΠΎΠΊ ValueError, ΡΠΊΡΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ command
Π½Π΅ Π²ΠΊΠ°Π·Π°Π½ΠΎ Π°Π±ΠΎ ΠΌΡΡΡΠΈΡΡ Π½ΡΠ»ΡΠΎΠ²Ρ Π±Π°ΠΉΡΠΈ.
ΡΠΏΠΈΡΠΎΠΊ Π·ΠΌΡΠ½
ΠΠ΅ΡΡΠΈΡ | ΠΠΏΠΈΡ |
---|---|
8.0.0 | Π―ΠΊΡΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ command Π½Π΅ Π²ΠΊΠ°Π·Π°Π½ΠΎ Π°Π±ΠΎ ΠΌΡΡΡΠΈΡΡ Π½ΡΠ»ΡΠΎΠ²Ρ Π±Π°ΠΉΡΠΈ, ΡΡΠ½ΠΊΡΡΡ exec() ΡΠ΅ΠΏΠ΅Ρ Π²ΠΈΠΊΠΈΠ΄Π°Ρ Π²ΠΈΠ½ΡΡΠΎΠΊ ValueError; ΡΠ°Π½ΡΡΠ΅ Π²ΠΎΠ½Π° Π²ΠΈΠ΄Π°Π²Π°Π»Π° ΠΏΠΎΠΌΠΈΠ»ΠΊΡ ΡΡΠ²Π½Ρ E_WARNING Ρ ΠΏΠΎΠ²Π΅ΡΡΠ°Π»Π° false |
ΠΡΠΈΠΊΠ»Π°Π΄ΠΈ
ΠΡΠΈΠΊΠ»Π°Π΄ #1 ΠΡΠΈΠΊΠ»Π°Π΄ ΡΡΠ½ΠΊΡΡΡ exec()
Loading...
ΠΠΈΡΠ½ΠΎΠ²ΠΎΠΊ Π½Π°Π²Π΅Π΄Π΅Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠΊΠ»Π°Π΄Ρ Π±ΡΠ΄Π΅ ΡΡ ΠΎΠΆΠΈΠΌ Π½Π°:
ΠΠ΅ΡΠ½ΡΡ ΡΡΠ°ΡΡΡ 0 ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅:
Array
(
[0] => cmb
)
ΠΡΠΈΠΌΡΡΠΊΠΈ
Π£Π²Π°Π³Π°
Π―ΠΊΡΠΎ ΠΏΠΎΡΡΡΠ±Π½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΠΈ ΡΡΠ½ΠΊΡΡΡ Π΄Π°Π½Ρ ΠΊΠΎΡΠΈΡΡΡΠ²Π°ΡΠ°, Π²ΠΈΠΊΠ»ΠΈΠΊΠ°ΡΡΡ ΡΡΠ½ΠΊΡΡΡ escapeshellarg() Π°Π±ΠΎ escapeshellcmd()ΡΠΎΠ± ΠΊΠΎΡΠΈΡΡΡΠ²Π°ΡΡ Π½Π΅ Π·ΠΌΠΎΠ³Π»ΠΈ ΠΎΠ±Π΄ΡΡΠΈΡΠΈ ΡΠΈΡΡΠ΅ΠΌΡ, Π·Π°ΠΏΡΡΡΠΈΠ²ΡΠΈ Π΄ΠΎΠ²ΡΠ»ΡΠ½Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.
ΠΠ°ΡΠ²Π°ΠΆΠ΅Π½Π½Ρ :
Π―ΠΊΡΠΎ ΠΏΠΎΡΡΡΠ±Π½ΠΎ Π²ΠΈΠΊΠ»ΠΈΠΊΠ°ΡΠΈ ΡΡ ΡΡΠ½ΠΊΡΡΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΡ, ΡΠΎ ΠΏΡΠ°ΡΡΡ ΡΠΊ Π΄Π΅ΠΌΠΎΠ½, ΠΏΠ΅ΡΠ΅Π²ΡΡΡΡΡΡ, ΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π΅ Π²ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ ΡΡΠ½ΠΊΡΡΡ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΎ Ρ ΡΠ°ΠΉΠ» Π°Π±ΠΎ ΡΠ½ΡΠΈΠΉ ΠΏΠΎΡΡΠΊ, ΡΠ½Π°ΠΊΡΠ΅ PHP Π·Π°Π²ΠΈΡΠ½Π΅ Π°ΠΆ Π΄ΠΎ ΠΊΡΠ½ΡΡ Π²ΠΈΠΊΠΎΠ½Π°Π½Π½Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ.
ΠΠ°ΡΠ²Π°ΠΆΠ΅Π½Π½Ρ :
Π Windows ΡΡΠ½ΠΊΡΠΈΡexec() ΠΠ°ΠΏΡΡΠΊ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π·Π°ΠΏΡΡΠΊΠ°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΈΠΉ ΡΡΠ΄ΠΎΠΊ cmd.exe. Π―ΠΊΡΠΎ ΠΏΠΎΡΡΡΠ±Π½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΠΈ Π·ΠΎΠ²Π½ΡΡΠ½Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΡ Π±Π΅Π· Π·Π°ΠΏΡΡΠΊΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠ³ΠΎ ΡΡΠ΄ΠΊΠ° cmd.exe, Π²ΠΈΠΊΠ»ΠΈΠΊΠ°ΡΡΡ ΡΡΠ½ΠΊΡΡΡ proc_open() ΡΠ· Π²ΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎΡ ΠΎΠΏΡΡΡΡ
bypass_shell
ΠΠΈΠ²ΡΡΡΡΡ ΡΠ°ΠΊΠΎΠΆ
- system() - ΠΠΈΠΊΠΎΠ½Π°ΡΠΈ Π·ΠΎΠ²Π½ΡΡΠ½Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΡ ΡΠ° Π²ΡΠ΄ΠΎΠ±ΡΠ°Π·ΠΈΡΠΈ Π²ΠΈΡΠ½ΠΎΠ²ΠΎΠΊ
- passthru() - ΠΠΈΠΊΠΎΠ½Π°ΡΠΈ Π·ΠΎΠ²Π½ΡΡΠ½Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΡ ΡΠ° Π²ΡΠ΄ΠΎΠ±ΡΠ°Π·ΠΈΡΠΈ Π½Π΅ΠΎΠ±ΡΠΎΠ±Π»Π΅Π½ΠΈΠΉ Π²ΠΈΡΠ½ΠΎΠ²ΠΎΠΊ
- escapeshellcmd() - ΠΠΊΡΠ°Π½ΡΠ²Π°ΡΠΈ ΠΌΠ΅ΡΠ°ΡΠΈΠΌΠ²ΠΎΠ»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠ³ΠΎ ΡΡΠ΄ΠΊΠ°
- pcntl_exec() - ΠΠ°ΠΏΡΡΡΠΈΡΠΈ Π²ΠΊΠ°Π·Π°Π½Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΡ Π² Π³Π°Π»ΡΠ·Ρ ΠΏΠΎΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡ
- ΠΠΏΠ΅ΡΠ°ΡΠΎΡ Π²ΠΈΠΊΠΎΠ½Π°Π½Π½Ρ