ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΎΡΠ»ΠΈΡΠΈΡ CLI-Π²Π΅ΡΡΠΈΠΈ SAPI-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΎΡ ΠΎΡΡΠ°Π»ΡΠ½ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΉ SAPI:
Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ CGI-Π²Π΅ΡΡΠΈΠΈ SAPI-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°, Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ Π½Π΅ ΠΏΠΈΡΡΡΡΡ Π² ΠΏΠΎΡΠΎΠΊ Π²ΡΠ²ΠΎΠ΄Π°.
Π₯ΠΎΡΡ Π² CGI-Π²Π΅ΡΡΠΈΠΈ SAPI-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ ΡΠΏΠΎΡΠΎΠ± ΠΏΠΎΠ΄Π°Π²Π»Π΅Π½ΠΈΡ HTTP-Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ², Π² CLI SAPI Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ Π²ΠΊΠ»ΡΡΠΈΡΡ Π½Π΅Π»ΡΠ·Ρ.
CLI ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ Π² ΡΠΈΡ ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅, ΡΠ΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΠΊΠ»ΡΡΠΈ -q ΠΈ --no-header ΡΠΎΡ ΡΠ°Π½ΠΈΠ»ΠΈ Π΄Π»Ρ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ, ΡΡΠΎ ΡΠ°Π·ΡΠ΅ΡΠ°Π΅Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΡΡΠ°ΡΡΠ΅ CGI-ΡΠΊΡΠΈΠΏΡΡ.
Π’Π΅ΠΊΡΡΠ°Ρ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π½Π° ΡΠ°Π±ΠΎΡΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ ΡΠΊΡΠΈΠΏΡΠ°. ΠΠ»ΡΡΠΈ -C ΠΈ --no-chdir ΡΠΎΡ ΡΠ°Π½ΠΈΠ»ΠΈ Π΄Π»Ρ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ.
Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ°Ρ Π²ΡΠ΄Π°ΡΡΡΡ Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ β Π±Π΅Π· HTML-ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
ΠΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠ°ΠΉΠ»Π° php.ini ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ CLI SAPI, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π² Π½ΠΈΡ Π½Π΅Ρ ΡΠΌΡΡΠ»Π° ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅:
| ΠΠΈΡΠ΅ΠΊΡΠΈΠ²Π° | ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π² CLI-Π²Π΅ΡΡΠΈΠΈ SAPI-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° | ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ |
|---|---|---|
| html_errors | false |
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠ°Π²Π½ΠΎ false, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ Π½Π΅ΡΠ΄ΠΎΠ±Π½ΠΎ ΡΠΈΡΠ°ΡΡ
ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅ Ρ Π½Π°Π³ΡΠΎΠΌΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ΠΌ Π½Π΅ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΡΠ΅ΠΌΡΡ
HTML-ΡΠ΅Π³ΠΎΠ².
|
| implicit_flush | true |
Π ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ ΡΠ°ΡΡΠΎ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ, ΡΡΠΎΠ±Ρ Π²ΡΠ²ΠΎΠ΄ ΡΡΠ½ΠΊΡΠΈΠΈ print ΠΈΠ»ΠΈ ΡΠ·ΡΠΊΠΎΠ²ΠΎΠΉ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ echo ΡΠ±ΡΠ°ΡΡΠ²Π°Π»ΡΡ ΡΡΠ°Π·Ρ, Π° Π½Π΅ Ρ ΡΠ°Π½ΠΈΠ»ΡΡ Π² Π±ΡΡΠ΅ΡΠ΅. ΠΡΠΈ ΡΡΠΎΠΌ Π±ΡΡΠ΅ΡΠΈΠ·Π°ΡΠΈΡ Π²ΡΠ²ΠΎΠ΄Π° ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ Π΄Π»Ρ ΠΎΡΠ»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ Π²ΡΠ²ΠΎΠ΄Π° ΠΈΠ»ΠΈ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΠΉ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ Π±ΡΡΠ΅ΡΠ°. |
| max_execution_time | 0 (Π±Π΅Π· ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ) | Π ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ PHP ΡΠ°ΡΡΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΡΠΉ, ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΌΠΈ Π²Π΅Π±-ΡΠΊΡΠΈΠΏΡΠ°ΠΌΠΈ, Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π·Π°Π΄Π°Ρ, ΠΈ ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΡΠ΅ ΡΠΊΡΠΈΠΏΡΡ ΡΠ°ΡΡΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π΄ΠΎΠ»Π³ΠΎ, Π΄Π»Ρ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 0 β Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΊΡΠΈΠΏΡΠ°. |
| register_argc_argv | true |
ΠΡΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Π² CLI SAPI ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ $argc ΠΈ $argv Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π·Π°ΠΏΠΎΠ»Π½ΡΡΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ. ΠΡΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΡΡΡΠΏΠ½Ρ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ $_SERVER, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ: $_SERVER['argv']. ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ $argv ΠΈ $_SERVER['argv'] Π½Π΅ ΠΎΡΠ½ΠΎΡΡΡΡΡ ΠΊ Π½Π°Π΄ΡΠΆΠ½ΠΎΠΌΡ ΠΏΡΠΈΠ·Π½Π°ΠΊΡ Π·Π°ΠΏΡΡΠΊΠ° ΡΠΊΡΠΈΠΏΡΠ° ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΏΡΠΈ Π²ΠΊΠ»ΡΡΡΠ½Π½ΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π΅ register_argc_argv ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΌΠΎΠ³Π»ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π² Π΄ΡΡΠ³ΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ°Ρ . ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²Π΅ΡΠ½ΡΠ»Π° ΡΡΠ½ΠΊΡΠΈΡ php_sapi_name(). <?phpΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅
ΠΠ°ΡΠΈΠ½Π°Ρ Ρ PHP 8.5.0 ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ Π£Π‘Π’ΠΠ ΠΠΠ. ΠΠΎΠ»Π°Π³Π°ΡΡΡΡ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ Π½Π°ΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ Π½Π΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡΡ. |
| output_buffering | false |
Π₯ΠΎΡΡ Π΄Π»Ρ ΡΡΠΎΠΉ ΠΎΠΏΡΠΈΠΈ ΡΠ°ΠΉΠ»Π° php.ini ΠΆΡΡΡΠΊΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ |
| max_input_time | false |
PHP CLI Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ GET, POST ΠΈΠ»ΠΈ Π·Π°Π³ΡΡΠ·ΠΊΡ ΡΠ°ΠΉΠ»ΠΎΠ². |
ΠΠ°ΠΌΠ΅ΡΠ°Π½ΠΈΠ΅:
ΠΡΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ Π½Π΅Π»ΡΠ·Ρ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π΄ΡΡΠ³ΠΈΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ ΠΈΠ· ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° php.ini ΠΈΠ»ΠΈ Π»ΡΠ±ΠΎΠ³ΠΎ Π΄ΡΡΠ³ΠΎΠ³ΠΎ, Π΅ΡΠ»ΠΈ Π΄ΡΡΠ³ΠΎΠΉ ΡΠ°ΠΉΠ» ΡΠΊΠ°Π·Π°Π»ΠΈ. ΠΡΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ ΡΠ΅ΠΌ, ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΠΏΠΎΡΠ»Π΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ². Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΡΡΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ°Π±ΠΎΡΡ ΡΠΊΡΠΈΠΏΡΠ° (Ρ ΠΎΡΡ ΡΡΠΎ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΠΎΡΠΎΠ±ΠΎΠ³ΠΎ ΡΠΌΡΡΠ»Π° Π΄Π»Ρ Π²ΡΠ΅Ρ Π½ΠΈΡ , Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ register_argc_argv).
ΠΠ°ΠΌΠ΅ΡΠ°Π½ΠΈΠ΅:
Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΎΠΏΡΠΈΡ ignore_user_abort Π΄Π»Ρ ΡΠΊΡΠΈΠΏΡΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ. ΠΠ° ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΡΠΌΠΈ ΠΎΠ±ΡΠ°ΡΠ°ΠΉΡΠ΅ΡΡ ΠΊ ΡΡΠ½ΠΊΡΠΈΠΈ ignore_user_abort().
ΠΠ»Ρ ΠΎΠ±Π»Π΅Π³ΡΠ΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ Π² ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΈ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠ½ΡΡΠ°Π½Ρ Π΄Π»Ρ ΠΏΠΎΡΠΎΠΊΠΎΠ² Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π°.
CLI SAPI Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ ΡΠ΅ΠΊΡΡΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ Π½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠΊΡΠΈΠΏΡΠ°.
ΠΡΠΈΠΌΠ΅Ρ #1 ΠΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠ°Π·Π½ΠΈΡΡ Ρ CGI-ΡΠ΅ΠΆΠΈΠΌΠΎΠΌ SAPI-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°:
<?php
// ΠΠ°Π·ΠΎΠ²ΡΠΉ ΡΠ΅ΡΡΠΎΠ²ΡΠΉ ΡΠΊΡΠΈΠΏΡ Ρ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ test.php
echo getcwd(), "\n";ΠΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Π² CGI-ΡΠ΅ΠΆΠΈΠΌΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠ°Π±ΠΎΡΡ Π±ΡΠ΄Π΅Ρ ΡΠ°ΠΊΠΈΠΌ:
$ pwd /tmp $ php -q another_directory/test.php /tmp/another_directory
ΠΡΠΎ Π½Π°Π³Π»ΡΠ΄Π½ΠΎ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅Ρ, ΡΡΠΎ PHP ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ ΡΠ΅ΠΊΡΡΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ Π½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠΊΡΠΈΠΏΡΠ°.
Π Π°Π±ΠΎΡΠ° ΡΠ΅ΡΠ΅Π· CLI SAPI Π΄Π°ΡΡ Π΄ΡΡΠ³ΠΎΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ:
$ pwd /tmp $ php -f another_directory/test.php /tmp
ΠΡΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π±ΠΎΠ»ΡΡΡΡ Π³ΠΈΠ±ΠΊΠΎΡΡΡ ΠΏΡΠΈ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈ ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΡΡ ΡΠΊΡΠΈΠΏΡΠΎΠ² Π½Π° PHP.
ΠΠ°ΠΌΠ΅ΡΠ°Π½ΠΈΠ΅:
ΠΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Ρ ΠΊΠ»ΡΡΠΎΠΌ -C CGI-ΡΠ΅ΠΆΠΈΠΌ SAPI-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΡΠ°Π·ΡΠ΅ΡΠ°Π΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ ΡΠ΅ΡΠ΅Π· CLI SAPI.