мЮВХМЮЪ Я БЕПЯХХ 4.3.0, PHP ОНДДЕПФХБЮЕР МНБШИ БХД SAPI (ХМРЕПТЕИЯ ПЮГПЮАНРЙХ ЯЕПБЕПМШУ ОПХКНФЕМХИ) ОНД МЮГБЮМХЕЛ CLI, ВРН НГМЮВЮЕР ХМРЕПТЕИЯ ЙНЛЮМДМНИ ЯРПНЙХ. йЮЙ БХДМН ХГ МЮГБЮМХЪ, ЩРНР БХД SAPI ОПЕДМЮГМЮВЕМ ДКЪ ПЮГПЮАНРЙХ ЙНМЯНКЭМШУ (ХКХ ДЮФЕ ДЕЯЙРНОМШУ) ОПХКНФЕМХИ МЮ PHP. хЛЕЕРЯЪ МЕЯЙНКЭЙН МЕЯСЫЕЯРБЕММШУ ПЮГКХВХИ ЛЕФДС CLI SAPI Х ДПСЦХЛХ БХДЮЛХ SAPI, ЙНРНПШЕ АСДСР ПЮЯЯЛНРПЕМШ Б ЩРНИ ЦКЮБЕ. аСДЕР ОНКЕГМН ГЮЛЕРХРЭ, ВРН CLI Х CGI - ПЮГКХВМШЕ SAPI-ХМРЕПТЕИЯШ, УНРЪ Б ХУ ОНБЕДЕМХХ ЛМНЦН НАЫЕЦН.
бОЕПБШЕ Б ЙЮВЕЯРБЕ ЩЙЯОЕПХЛЕМРЮ CLI SAPI АШК БЙКЧВЕМ Б ПЕКХГ PHP 4.2.0, Х ОПХ ГЮОСЯЙЕ ЯЙПХОРЮ ./configure МЕНАУНДХЛН АШКН ЪБМН СЙЮГШБЮРЭ НОЖХЧ --enable-cli. мЮВХМЮЪ Я PHP 4.3.0, CLI SAPI МЕ ЪБКЪЕРЯЪ ЩЙЯОЕПХЛЕМРЮКЭМШЛ, Х НОЖХЪ ЯАНПЙХ --enable-cli ОПХЯСРЯРБСЕР ОН СЛНКВЮМХЧ. бШ ЛНФЕРЕ НРЙКЧВХРЭ CLI SAPI ОПХ ОНЛНЫХ НОЖХХ --disable-cli.
вРН ЙЮЯЮЕРЯЪ PHP 4.3.0, ХЛЪ, ПЮЯОНКНФЕМХЕ Х ЯСЫЕЯРБНБЮМХЕ АХМЮПМШУ ЛНДСКЕИ CLI/CGI ГЮБХЯХР НР РНЦН, ЙЮЙ ХЛЕММН СЯРЮМНБКЕМ PHP. оН СЛНКВЮМХЧ ОПХ БШОНКМЕМХХ make ЯНГДЮЕРЯЪ ЙЮЙ CGI, РЮЙ Х CLI ЛНДСКЭ, Б ЙЮРЮКНЦЮУ sapi/cgi/php Х sapi/cli/php ЯННРБЕРЯРБЕММН, БМСРПХ ДХПЕЙРНПХХ Я ХЯУНДМШЛХ ЙНДЮЛХ PHP. CКЕДСЕР ГЮЛЕРХРЭ, ВРН НАЮ ТЮИКЮ ХЛЕЧР НДХМЮЙНБНЕ МЮГБЮМХЕ: php. вРН ОПНХГНИДЕР ОПХ БШОНКМЕМХХ make install, ГЮБХЯХР НР РНЦН, ЙЮЙХЕ НОЖХХ БШ СЙЮГЮКХ МЮ ЯРЮДХХ ЙНМТХЦСПХПНБЮМХЪ. б ЯКСВЮЕ, ЕЯКХ БШ НРДЮКХ ОПЕДОНВРЕМХЕ РЮЙНЛС ЛНДСКЧ SAPI ЙЮЙ apxs, КХАН СЙЮГЮКХ НОЖХЧ --disable-cgi, ЛНДСКЭ CLI АСДЕР ЯЙНОХПНБЮМ Б {PREFIX}/bin/php ОПХ БШОНКМЕМХХ make install, Б ОПНРХБМНЛ ЯКСВЮЕ АСДЕР ЯЙНОХПНБЮМ CGI-ЛНДСКЭ. мЮОПХЛЕП, ЕЯКХ ОПХ ГЮОСЯЙЕ ЯЙПХОРЮ ./configure БШ СЙЮГЮКХ НОЖХЧ --with--apxs, CLI-БЕПЯХЪ АСДЕР ЯЙНОХПНБЮМЮ Б {PREFIX}/bin/php ОПХ БШОНКМЕМХХ make install. еЯКХ БШ УНРХРЕ ОЕПЕЙПШРЭ СЯРЮМНБКЕММШИ CGI-ЛНДСКЭ, ХЯОНКЭГСИРЕ make install-cli ОНЯКЕ БШОНКМЕМХЪ make install. б ЙЮВЕЯРБЕ ЮКЭРЕПМЮРХБШ БШ ЛНЦКХ АШ СЙЮГЮРЭ НОЖХЧ --disable-cgi ОПХ БШОНКМЕМХХ ЯЙПХОРЮ ./configure.
Замечание: оНЯЙНКЭЙС НАЕ НОЖХХ, --enable-cli Х --enable-cgi, ОПХЯСРЯРБСЧР ОН СЛНКВЮМХЧ, НДМНЦН ОПХЯСРЯРБХЪ ЯРПНЙХ --enable-cli ОПХ БШОНКМЕМХХ ЯЙПХОРЮ ./configure МЕДНЯРЮРНВМН ДКЪ РНЦН, ВРНАШ CLI-БЕПЯХЪ АШКЮ СЯРЮМНБКЕМЮ Б {PREFIX}/bin/php ОПХ БШОНКМЕМХХ make install.
дХЯРПХАСРХБШ ДКЪ Windows ЛЕФДС БЕПЯХЪЛХ PHP 4.2.0 Х PHP 4.2.3 БЙКЧВЮЧР Б ЯЕАЪ CLI-ЛНДСКЭ ЙЮЙ php-cli.exe, ПЮЯОНКНФЕММШИ Б РНИ ФЕ ДХПЕЙРНПХХ, ВРН Х CGI-ЛНДСКЭ php.exe. мЮВХМЮЪ Я PHP 4.3.0 ДХЯРПХАСРХБ ДКЪ Windows БКЧВЮЕР Б ЯЕАЪ CLI-ЛНДСКЭ php.exe, ПЮЯОНКНФЕММШИ Б НРДЕКЭМНИ ДХПЕЙРНПХХ cli, ОНКМНЕ ХЛЪ - cli/php.exe. мЮВХМЮЪ Я PHP 5, CLI-ЛНДСКЭ ПЮЯОНКНФЕМ Б НЯМНБМНИ ДХПЕЙРНПХХ Х МЮГШБЮЕРЯЪ php.exe. CGI-ЛНДСКЭ РЮЙФЕ БЙКЧВЕМ Б ДХЯРПХАСРХБ ОНД МЮГБЮМХЕЛ php-cgi.exe.
мЮВХМЮЪ Я PHP 5, Б ДХЯРПХАСРХБ ДКЪ Windows БУНДХР МНБШИ ТЮИК php-win.exe. нМ ОНКМНЯРЭЧ ЩЙБХБЮКЕМРЕМ CLI, ГЮ ХЯЙКЧВЕМХЕЛ РНЦН, ВРН php-win ЮАЯНКЧРМН МХВЕЦН МЕ БШБНДХР, ВРН ОПХБНДХР Й НРЯРСРЯРБХЧ ЙНМЯНКХ (НЙМН DOS МЕ ОНЪБКЪЕРЯЪ МЮ ЩЙПЮМЕ). щРН ОНБЕДЕМХЕ ОНУНФЕ МЮ php-gtk. оПХ ЯАНПЙЕ ХГ ХЯУНДМШУ ЙНДНБ БЮЛ МЕНАУНДХЛН СЙЮГЮРЭ НОЖХЧ --enable-cli-win32.
йЮЙНИ ХГ БЮПХЮМРНБ SAPI СЯРЮМНБКЕМ?: бШОНКМХРЕ ХГ ЙНЛЮМДМНИ ЯРПНЙХ php -v ДКЪ ОНКСВЕМХЪ ХМТНПЛЮЖХХ Н РНЛ, ЙЮЙНИ ХГ ДБСУ ЛНДСКЕИ php СЯРЮМНБКЕМ: CGI ХКХ CLI. рЮЙФЕ БШ ЛНФЕРЕ ХЯОНКЭГНБЮРЭ ДКЪ ЩРНЦН ТСМЙЖХЧ php_sapi_name() ХКХ ЙНМЯРЮМРС PHP_SAPI.
Замечание: яННРБЕРЯРБСЧЫЮЪ ЯРПЮМХЖЮ ПСЙНБНДЯРБЮ Unix АШКЮ ДНАЮБКЕМЮ Б PHP 4.3.2. бШ ЛНФЕРЕ СБХДЕРЭ ЕЕ, БШОНКМХБ Б ЙНМЯНКХ man php.
нЯМНБМШЕ НРКХВХЪ CLI SAPI НР НЯРЮКЭМШУ ПЕЮКХГЮЖХИ SAPI:
б НРКХВХЕ НР CGI SAPI ГЮЦНКНБЙХ МЕ ОХЬСРЯЪ Б ОНРНЙ БШБНДЮ.
мЕЯЛНРПЪ МЮ РН, ВРН Б CGI SAPI ЕЯРЭ ЯОНЯНА ОНДЮБХРЭ HTTP-ГЮЦНКНБЙХ, Б CLI SAPI МЕР БНГЛНФМНЯРХ ХУ БЙКЧВХРЭ.
CLI ОН СЛНКВЮМХЧ ГЮОСЯЙЮЕРЯЪ Б ПЕФХЛЕ Я ОНДЮБКЕМХЕЛ ЯННАЫЕМХИ, РЕЛ МЕ ЛЕМЕЕ, ЙКЧВХ -q Х --no-header ЯНУПЮМЕМШ ДКЪ НАПЮРМНИ ЯНБЛЕЯРХЛНЯРХ, ВРН ОНГБНКЪЕР ХЯОНКЭГНБЮРЭ МЮОХЯЮММШЕ ПЮМЕЕ CGI-ЯЙПХОРШ.
рЕЙСЫЮЪ ДХПЕЙРНПХЪ МЕ ХГЛЕМЪЕРЯЪ МЮ ПЮАНВСЧ ДХПЕЙРНПХЧ ЯЙПХОРЮ. (йКЧВХ -C Х --no-chdir ЯНУПЮМЕМШ ДКЪ НАПЮРМНИ ЯНБЛЕЯРХЛНЯРХ)
яННАЫЕМХЪ НА НЬХАЙЮУ БШДЮЧРЯЪ Б РЕЙЯРНБНЛ ПЕФХЛЕ (АЕГ HTML-ТНПЛЮРХПНБЮМХЪ).
мЕЙНРНПШЕ МЮЯРПНИЙХ php.ini ОЕПЕНОПЕДЕКЕМШ Б CLI SAPI, ОНЯЙНКЭЙС НМХ МЕ ХЛЕЧР НЯНАНЦН ЯЛШЯКЮ ОПХ ПЮАНРЕ Б ЙНЛЮМДМНИ ЯРПНЙЕ:
Таблица 23-1. оЕПЕНОПЕДЕКЪЕЛШЕ ДХПЕЙРХБШ php.ini
дХПЕЙРХБЮ | гМЮВЕМХЕ ОН СЛНКВЮМХЧ Б CLI SAPI | йНЛЛЕМРЮПХИ |
---|---|---|
html_errors | FALSE | аШБЮЕР ДНЯРЮРНВМН ЯКНФМН ОПНВХРЮРЭ Б ЙНМЯНКХ ЯННАЫЕМХЕ НА НЬХАЙЕ, ЙНЦДЮ НМН МЮОНКМЕМН АЕЯЯЛШЯКЕММШЛХ HTML-РЕЦЮЛХ, ОНЩРНЛС ГМЮВЕМХЕ ОН СЛНКВЮМХЧ ДЮММНИ НОЖХХ БЯЕЦДЮ FALSE. |
implicit_flush | TRUE | фЕКЮРЕКЭМН, ВРНАШ КЧАНИ БШБНД print(), echo(), Ю РЮЙФЕ ЮМЮКНЦХВМШУ ТСМЙЖХИ МЕЛЕДКЕМН НРОПЮБКЪКЯЪ Б ЯРЮМДЮПРМШИ ОНРНЙ БШБНДЮ, Ю МЕ ОНОЮДЮК Б АСТЕП. уНРЪ БШ БЯЕ ЕЫЕ ЛНФЕРЕ ХЯОНКЭГНБЮРЭ АСТЕПХГЮЖХЧ БШБНДЮ, ЕЯКХ УНРХРЕ ГЮДЕПФЮРЭ БШБНД ХКХ ЛЮМХОСКХПНБЮРЭ ХЛ. |
max_execution_time | 0 (АЕГ НЦПЮМХВЕМХИ) | хГ-ГЮ МЕНЦПЮМХВЕММШУ БНГЛНФМНЯРЕИ ХЯОНКЭГНБЮМХЪ PHP Б ЙНЛЮМДМНИ ЯРПНЙЕ ЛЮЙЯХЛЮКЭМНЕ БПЕЛЪ БШОНКМЕМХЪ ЯЙПХОРЮ МЕ НЦПЮМХВЕМН. б РН БПЕЛЪ, ЙЮЙ ОПХКНФЕМХЪ, МЮОХЯЮММШЕ ДКЪ БЕА, БШОНКМЪЧРЯЪ ДНЯРЮРНВМН АШЯРПН, ЙНМЯНКЭМШЕ ОПХКНФЕМХЪ ЛНЦСР БШОНКМЪРЭЯЪ Б РЕВЕМХХ ДКХРЕКЭМНЦН БПЕЛЕМХ. |
register_argc_argv | TRUE |
аКЮЦНДЮПЪ ГМЮВЕМХЧ TRUE Б CLI SAPI БЮЛ БЯЕЦДЮ ДНЯРСОМШ ОЕПЕЛЕММШЕ argc (ЙНКХВЕЯРБН ЮПЦСЛЕМРНБ ОПХ ГЮОСЯЙЕ ОПХКНФЕМХЪ) Х argv (ЛЮЯЯХБ РЕЙСЫХУ ЮПЦСЛЕМРНБ). мЮВХМЮЪ Я PHP 4.3.0, ОПХ ХЯОНКЭГНБЮМХХ CLI SAPI ОЕПЕЛЕММШЕ $argc Х and $argv ГЮПЕЦХЯРПХПНБЮМШ Х ГЮОНКМЕМШ ЯННРБЕРЯРБСЧЫХЛХ ГМЮВЕМХЪЛХ. б АНКЕЕ ПЮММХУ БЕПЯХЪУ ЯНГДЮМХЕ ЩРХУ ОЕПЕЛЕММШУ, РЮЙ ФЕ, ЙЮЙ Х ДКЪ CGI ХКХ ЛНДСКЪ БЕА-ЯЕПБЕПЮ, РПЕАСЕР ГМЮВЕМХЕ on ДХПЕЙРХБШ register_globals. мЕГЮБХЯХЛН НР БЕПЯХХ PHP ХКХ ЯРЮРСЯЮ НОЖХХ register_global НМХ БЯЕЦДЮ ДНЯРСОМШ ЙЮЙ ЩКЕЛЕМРШ ЛЮЯЯХБЮ $_SERVER ХКХ $HTTP_SERVER_VARS. мЮОПХЛЕП: $_SERVER['argv'] |
Замечание: щРХ ДХПЕЙРХБШ МЕ ЛНЦСР АШРЭ ХМХЖХЮКХГХПНБЮМШ ДПСЦХЛХ ГМЮВЕМХЪЛХ ХГ ЙНМТХЦСПЮЖХНММНЦН ТЮИКЮ php.ini ХКХ КЧАНЦН ДПСЦНЦН (Б ЯКСВЮЕ, ЕЯКХ НМ СЙЮГЮМ). щРН ЪБКЪЕРЯЪ НЦПЮМХВЕМХЕЛ, ОНЯЙНКЭЙС СЙЮГЮММШЕ БШЬЕ ГМЮВЕМХЪ ОН СЛНКВЮМХЧ ОПХЛЕМЪЧРЯЪ ОНЯКЕ НАПЮАНРЙХ ЙНМТХЦСПЮЖХНММШУ ТЮИКНБ. рЕЛ МЕ ЛЕМЕЕ, ЩРХ ГМЮВЕМХЪ ЛНЦСР АШРЭ ХГЛЕМЕМШ БН БПЕЛЪ ПЮАНРШ ЯЙПХОРЮ (УНРЪ ЩРН МЕ ХЛЕЕР НЯНАНЦН ЯЛШЯКЮ ДКЪ СЙЮГЮММШУ ДХПЕЙРХБ, МЮОПХЛЕП, ДКЪ register_argc_argv).
нАКЕЦВЕМЮ ПЮАНРЮ Я ЙНМЯНКЭЧ, АКЮЦНДЮПЪ ЯКЕДСЧЫХЛ НОПЕДЕКЕММШЛ ЙНМЯРЮМРЮЛ:
Таблица 23-2. яОЕЖХТХВЕЯЙХЕ CLI-ЙНМЯРЮМРШ
йНМЯРЮМРЮ | нОХЯЮМХЕ | |
---|---|---|
STDIN |
сФЕ НРЙПШРШИ ОНРНЙ stdin. йНМЯРЮМРЮ УПЮМХР ПЕГСКЭРЮР
| |
STDOUT |
сФЕ НРЙПШРШИ ОНРНЙ stdout. йНМЯРЮМРЮ УПЮМХР ПЕГСКЭРЮР
| |
STDERR |
сФЕ НРЙПШРШИ ОНРНЙ stderr. йНМЯРЮМРЮ УПЮМХР ПЕГСКЭРЮР
|
хЛЕЪ БЯЕ ЩРН, БШ МЕ ДНКФМШ ЯЮЛНЯРНЪРЕКЭМН НРЙПШБЮРЭ, МЮОПХЛЕП, ОНРНЙ ДКЪ stderr, Ю ОПНЯРН ХЯОНКЭГСИРЕ ЙНМЯРЮМРС БЛЕЯРН ДЕЯЙПХОРНПЮ ОНРНЙЮ:
php -r 'fwrite(STDERR, "stderr\n");' |
CLI SAPI МЕ ХГЛЕМЪЕР РЕЙСЫСЧ ДХПЕЙРНПХЧ МЮ ДХПЕЙРНПХЧ ХЯОНКМЪЕЛНЦН ЯЙПХОРЮ!
оПХЛЕП, ДЕЛНМЯРПХПСЧЫХИ НРКХВХЕ CGI SAPI:
<?php |
б ЯКСВЮЕ, ЕЯКХ ХЯОНКЭГСЕРЯЪ CGI БЕПЯХЪ, ПЕГСКЭРЮР ПЮАНРШ АСДЕР ЯКЕДСЧЫХЛ:
$ pwd /tmp $ php -q another_directory/test.php /tmp/another_directory |
хЯОНКЭГНБЮМХЕ CLI SAPI ДЮЕР ДПСЦНИ ПЕГСКЭРЮР:
$ pwd /tmp $ php -f another_directory/test.php /tmp |
Замечание: CGI SAPI ОНГБНКЪЕР ОНКСВХРЭ ЮМЮКНЦХВМНЕ CLI SAPI ОНБЕДЕМХЕ Б ЯКСВЮЕ ХЯОНКЭГНБЮМХЪ ЙКЧВЮ -C ОПХ ГЮОСЯЙЕ ХГ ЙНЛЮМДМНИ ЯРПНЙХ.
яОХЯНЙ НОЖХИ, ДНЯРСОМШИ ОПХ ГЮОСЯЙЕ PHP ХГ ЙНЛЮМДМНИ ЯРПНЙХ, ЛНФЕР АШРЭ ОНКСВЕМ Б КЧАНИ ЛНЛЕМР ОСРЕЛ ГЮОСЯЙЮ PHP Я ЙКЧВНЛ -h:
Usage: php [options] [-f] <file> [args...] php [options] -r <code> [args...] php [options] [-- args...] -s нРНАПЮФЮЕР ХЯУНДМШИ ЙНД Я ЖБЕРМНИ ОНДЯБЕРЙНИ -w нРНАПЮФЮЕР ХЯУНДМШИ РЕЙЯР АЕГ ЙНЛЛЕМРЮПХЕБ Х ОПНАЕКНБ -f <file> хЯОНКМЪЕР <file> -v бШБНДХР ХМТНПЛЮЖХЧ Н БЕПЯХХ PHP -c <path>|<file> хЫЕР ТЮИК php.ini Б СЙЮГЮММНИ ДХПЕЙРНПХХ -a хМРЕПЮЙРХБМШИ ГЮОСЯЙ -d foo[=bar] сЯРЮМНБХРЭ ЙНМТХЦСПЮЖХНММСЧ НОЖХЧ foo ГМЮВЕМХЕЛ 'bar' -e цЕМЕПЮЖХЪ ДНОНКМХРЕКЭМНИ ХМТНПЛЮЖХХ ДКЪ НРКЮДВХЙЮ Х ОПНТЮИКЕПЮ -z <file> гЮЦПСГХРЭ Zend-ПЮЯЬХПЕМХЕ <file>. -l оПНБЕПХРЭ ЯХМРЮЙЯХЯ -m оНЙЮГЮРЭ ОНДЙКЧВЕММШЕ ЛНДСКХ -i бШБНДХР ХМТНПЛЮЖХЧ Н PHP -r <code> гЮОСЯРХРЭ PHP-ЙНД АЕГ ХЯОНКЭГНБЮМХЪ <?..?> -h рЕЙСЫЮЪ ЯОПЮБЙЮ args... юПЦСЛЕМРШ, ОЕПЕДЮБЮЕЛШЕ ЯЙПХОРС. хЯОНКЭГСИРЕ -- args Б ЯКСВЮЕ, ЕЯКХ ОЕПБШИ ЮПЦСЛЕМР МЮВХМЮЕРЯЪ Я '-' ХКХ ЯЮЛ ЯЙПХОР ВХРЮЕРЯЪ ХГ ОНРНЙЮ STDIN. |
CLI SAPI ХЛЕЕР РПХ ПЮГКХВМШУ ЯОНЯНАЮ ОНКСВЕМХЪ PHP-ЙНДЮ, ЙНРНПШИ МЕНАУНДХЛН БШОНКМХРЭ:
сЙЮГЮРЭ PHP МЮ ХЯОНКМЕМХЕ ЙНМЙПЕРМНЦН ТЮИКЮ.
php my_script.php php -f my_script.php |
сЙЮГЮРЭ PHP-ЙНД ДКЪ БШОНКМЕМХЪ МЕОНЯПЕДЯРБЕММН Б ЙНЛЮМДМНИ ЯРПНЙЕ.
php -r 'print_r(get_defined_constants());' |
Замечание: оНЯЛНРПХРЕ БМХЛЮРЕКЭМН МЮ ОПХЛЕП: Б МЕЛ МЕР МЮВЮКЭМШУ Х ЙНМЕВМШУ РЕЦНБ! оПХ ХЯОНКЭГНБЮМХХ ЙКЧВЮ -r НМХ МЕ МСФМШ. хЯОНКЭГНБЮМХЕ ХУ Б ДЮММНЛ ОПХЛЕПЕ ОПХБЕДЕР Й ЯХМРЮЙЯХВЕЯЙНИ НЬХАЙЕ.
оПЕДНЯРЮБХРЭ PHP-ЙНД ДКЪ БШОНКМЕМХЪ ОНЯПЕДЯРБНЛ ЯРЮМДЮПРМНЦН ОНРНЙЮ stdin.
щРН ОНГБНКЪЕР ДХМЮЛХВЕЯЙХ ЯНГДЮБЮРЭ PHP-ЙНД Х ОЕПЕЮДПЕЯНБШБЮРЭ ЕЦН ХЯОНКМЪЕЛНЛС ЛНДСКЧ, ЙЮЙ ОНЙЮГЮМН Б ЯКЕДСЧЫЕЛ (БШЛШЬКЕММНЛ) ОПХЛЕПЕ:
$ some_application | some_filter | php | sort -u >final_output.txt |
йЮЙ Х Б КЧАНЛ ЙНМЯНКЭМНЛ ОПХКНФЕМХХ, МЕ РНКЭЙН PHP, МН Х ЯЮЛ ЯЙПХОР ЛНФЕР ОПХМХЛЮРЭ ЮПЦСЛЕМРШ ЙНЛЮМДМНИ ЯРПНЙХ. йНКХВЕЯРБН ОЕПЕДЮБЮЕЛШУ ЮПЦСЛЕМРНБ Б PHP МЕ НЦПЮМХВЕМН (УНРЪ ЙНМЯНКЭ ХЛЕЕР МЕЙНРНПНЕ НЦПЮМХВЕМХЕ МЮ ЙНКХВЕЯРБН ОЕПЕДЮБЮЕЛШУ ЯХЛБНКНБ, МН МЮ ОПЮЙРХЙЕ БШ МЕ ДНКФМШ Я ЩРХЛ ЯРНКЙМСРЭЯЪ). бЯЕ ЮПЦСЛЕМРШ, ОЕПЕДЮММШЕ БЮЬЕЛС ЯЙПХОРС, ДНЯРСОМШ Б БХДЕ ЦКНАЮКЭМНЦН ЛЮЯЯХБЮ $argv. мСКЕБНИ ЩКЕЛЕМР ЯНДЕПФХР ХЛЪ ЯЙПХОРЮ (ЙНРНПНЕ ЪБКЪЕРЯЪ ЯХЛБНКНЛ - Б ЯКСВЮЕ, ЕЯКХ PHP-ЙНД ВХРЮЕРЯЪ ХГ ОНРНЙЮ stdin ХКХ СЙЮГЮМ Б ЙНЛЮМДМНИ ЯРПНЙЕ ОПХ ОНЛНЫХ ЙКЧВЮ -r). бРНПЮЪ НОПЕДЕКЪЕЛЮЪ ЦКНАЮКЭМЮЪ ОЕПЕЛЕММЮЪ $argc ЯНДЕПФХР ЙНКХВЕЯРБН ЩКЕЛЕМРНБ ЛЮЯЯХБЮ $argv (Ю МЕ ЙНКХВЕЯРБН ЮПЦСЛЕМРНБ, ОЕПЕДЮБЮЕЛШУ ОПХ ГЮОСЯЙЕ).
дН РЕУ ОНП, ОНЙЮ ОЕПЕДЮБЮЕЛШЕ ЮПЦСЛЕМРШ МЕ МЮВХМЮЧРЯЪ Я ЯХЛБНКЮ -, МХВЕЦН НЯНАЕММНЦН ОПЕДОПХМХЛЮРЭ МЕ МЮДН. мН ОПХ СЙЮГЮМХХ ЮПЦСЛЕМРЮ, ЙНРНПШИ МЮВХМЮЕРЯЪ Я ЯХЛБНКЮ -, ЛНФЕР БНГМХЙМСРЭ ОПНАКЕЛЮ, РЮЙ ЙЮЙ PHP ОНОШРЮЕРЯЪ НАПЮАНРЮРЭ ХУ ЯЮЛНЯРНЪРЕКЭМН. вРНАШ ОПЕДНРБПЮРХРЭ ЩРН, ХЯОНКЭГСИРЕ -- Б ЙЮВЕЯРБЕ ПЮГДЕКХРЕКЪ ЯОХЯЙЮ ЮПЦСЛЕМРНБ. бЯЕ ОНЯКЕДСЧЫХЕ ГЮ РЮЙХЛ ПЮГДЕКХРЕКЕЛ ЮПЦСЛЕМРШ АСДСР ОЕПЕДЮМШ БЮЬЕЛС ЯЙПХОРС АЕГ ХГЛЕМЕМХИ.
# оПХБЕДЕММШИ ОПХЛЕП МЕ БШОНКМХР СЙЮГЮММШИ ЙНД, Ю БШДЮЯР ЯОПЮБЙС НА ХЯОНКЭГНБЮМХХ PHP $ php -r 'var_dump($argv);' -h Usage: php [options] [-f] <file> [args...] [...] # юПЦСЛЕМР '-h' АСДЕР ОЕПЕДЮМ ЯЙПХОРС, ЯОПЮБЙЮ МЮОЕВЮРЮМЮ МЕ АСДЕР $ php -r 'var_dump($argv);' -- -h array(2) { [0]=> string(1) "-" [1]=> string(2) "-h" } |
нДМЮЙН, ЯСЫЕЯРБСЕР ЕЫЕ НДХМ ЯОНЯНА ХЯОНКЭГНБЮМХЪ PHP ДКЪ МЮОХЯЮМХЪ ЙНМЯНКЭМШУ ЯЙПХОРНБ. бШ ЛНФЕРЕ МЮОХЯЮРЭ ЯЙПХОР, ОЕПБЮЪ ЯРПНЙЮ ЙНРНПНЦН МЮВХМЮЕРЯЪ Я #!/usr/bin/php. яКЕДСЧЫХЕ ЯРПНЙХ ЯНДЕПФЮР НАШЙМНБЕММШИ PHP-ЙНД, НАПЮЛКЕММШИ НРЙПШБЮЧЫХЛХ Х ГЮБЕПЬЮЧЫХЛХ PHP-РЕЦЮЛХ. рЮЙФЕ МЕНАУНДХЛН СЯРЮМНБХРЭ ОПЮБЮ МЮ БШОНКМЕМХЕ (ЙЮЙ ОПЮБХКН, ЩРН chmod +x test), ВРНАШ БЮЬ ЯЙПХОР ЛНЦ ГЮОСЯЙЮРЭЯЪ, ЙЮЙ НАШЙМНБЕММШИ ЙНМЯНКЭМШИ (ХКХ perl) ЯЙПХОР:
#!/usr/bin/php |
$ chmod 755 test $ ./test -h -- foo array(4) { [0]=> string(6) "./test" [1]=> string(2) "-h" [2]=> string(2) "--" [3]=> string(3) "foo" } |
оНКМШЕ МЮГБЮМХЪ НОЖХИ ДНЯРСОМШ, МЮВХМЮЪ Я PHP 4.3.3.
Таблица 23-3. нОЖХХ, ДНЯРСОМШЕ ХГ ЙНЛЮМДМНИ ЯРПНЙХ
нОЖХЪ | оНКМНЕ МЮГБЮМХЕ | нОХЯЮМХЕ | |||
---|---|---|---|---|---|
-s | --syntax-highlight |
нРНАПЮФЮЕР ХЯУНДМШИ ЙНД Я ЖБЕРМНИ ОНДЯБЕРЙНИ щРЮ НОЖХЪ ХЯОНКЭГСЕР БМСРПЕММХИ ЛЕУЮМХГЛ ПЮГАНПЮ ТЮИКЮ, ЦЕМЕПХПСЕР ОНДЯБЕВЕММСЧ HTML-БЕПЯХЧ Х ГЮОХЯШБЮЕР ЕЕ Б ЯРЮМДЮПРМШИ БШБНД. яКЕДСЕР ГЮЛЕРХРЭ, ВРН ЦЕМЕПХПСЕРЯЪ РНКЭЙН АКНЙ <code> [...] </code> Я HTML-РЕЦЮЛХ, АЕГ HTML-ГЮЦНКНБЙНБ.
| |||
-s | --syntax-highlighting |
юКХЮЯ ДКЪ --syntax-highlight. | |||
-w | --strip |
нРНАПЮФЮЕР ХЯУНДМШИ РЕЙЯР АЕГ ЙНЛЛЕМРЮПХЕБ Х ОПНАЕКЭМШУ ЯХЛБНКНБ.
| |||
-f | --file |
хЯОНКМЪЕР СЙЮГЮММШИ ТЮИК. нОЖХЪ -f ЪБКЪЕРЯЪ МЕ НАЪГЮРЕКЭМНИ Х ЛНФЕР НРЯСРЯРБНБЮРЭ. дНЯРЮРНВМН ОПНЯРН СЙЮГЮРЭ ХЛЪ ТЮИКЮ. | |||
-v | --version |
бШБНДХР ХМТНПЛЮЖХЧ Н БЕПЯХХ PHP, PHP SAPI Х Zend, МЮОПХЛЕП:
| |||
-c | --php-ini |
оПХ ОНЛНЫХ ЩРНИ НОЖХХ ЛНФМН СЙЮГЮРЭ ЯОЕЖХТХВЕЯЙСЧ ДХПЕЙРНПХЧ ДКЪ ЙНМТХЦСПЮЖХНММНЦН ТЮИКЮ php.ini КХАН МЕОНЯПЕДЯРБЕММН СЙЮГЮРЭ МЮ ЯЮЛ INI-ТЮИК (МЮГБЮМХЕ ЙНРНПНЦН ЛНФЕР НРКХВЮРЭЯЪ НР ЯРЮМДЮПРМНЦН php.ini), МЮОПХЛЕП:
| |||
-n | --no-php-ini |
сЙЮГШБЮЕР МЮ МЕНАУНДХЛНЯРЭ ХЦМНПХПНБЮРЭ ЙНМТХЦСПЮЖХНММШИ ТЮИК php.ini, ДНЯРСОЕМ, МЮВХМЮЪ Я PHP 4.3.0. | |||
-d | --define |
щРЮ НОЖХЪ ОНГБНКЪЕР СЯРЮМЮБКХБЮРЭ ЯОЕЖХЮКЭМНЕ ГМЮВЕМХЕ ДКЪ ЙЮФДНИ ХГ ЙНМТХЦСПЮЖХНММШУ ОЕПЕЛЕММШУ, ДНЯРСОМШУ Б php.ini. яХМРЮЙЯХЯ БШЦКЪДХР ЯКЕДСЧЫХЛ НАПЮГНЛ:
оПХЛЕПШ (ОЕПЕБНДШ ЯРПНЙ ХЯОНКЭГНБЮМШ, ВРНАШ ЯДЕКЮРЭ РЕЙЯР АНКЕЕ ВХРЮЕЛШЛ):
| |||
-a | --interactive |
гЮОСЯЙЮЕР PHP Б ХМРЕПЮЙРХБМНЛ ПЕФХЛЕ. | |||
-e | --profile-info |
цЕМЕПХПСЕР ДНОНКМХРЕКЭМСЧ ХМТНПЛЮЖХЧ ДКЪ НРКЮДВХЙЮ Х ОПНТЮИКЕПЮ. | |||
-z | --zend-extension |
оНДЦПСФЮЕР ДНОНКМХРЕКЭМШИ ЛНДСКЭ Zend. б ЯКСВЮЕ, ЕЯКХ СЙЮГЮМН РНКЭЙН ХЛЪ ТЮИКЮ, PHP ХЫЕР ЛНДСКЭ Б РЕЙСЫЕЛ ОСРХ Й АХАКХНРЕЙЮЛ ОН СЛНКВЮМХЧ (Б Linux-ЯХЯРЕЛЮУ НМ НАШВМН СЙЮГЮМ Б /etc/ld.so.conf). б ЯКСВЮЕ, ЕЯКХ СЙЮГЮМН ХЛЪ ТЮИКЮ Х ОНКМШИ ОСРЭ Й МЕЛС, ОНХЯЙ Б ЯХЯРЕЛМШУ АХАКХНРЕЙЮУ МЕ ОПНХГБНДХРЯЪ. сЙЮГЮМХЕ НРМНЯХРЕКЭМНЦН ОСРХ Й ЛНДСКЧ ОПХБЕДЕР Й ОНХЯЙС ТЮИКЮ ОН СЙЮГЮММНЛС ОСРХ НРМНЯХРЕКЭМН РЕЙСЫЕИ ДХПЕЙРНПХХ. | |||
-l | --syntax-check |
щРЮ НОЖХЪ ОПЕДНЯРЮБКЪЕР СДНАМШИ ЯОНЯНА ДКЪ ОПНБЕПЙХ ГЮДЮММНЦН PHP-ЙНДЮ МЮ МЮКХВХЕ ЯХМРЮЙЯХВЕЯЙХУ НЬХАНЙ. б ЯКСВЮЕ СЯОЕЬМНИ ОПНБЕПЙХ АСДЕР МЮОЕВЮРЮМЮ ЯКЕДСЧЫЮЪ ТПЮГЮ: "No syntax errors detected in <filename>",- Х ЙНД БНГБПЮРЮ АСДЕР ПЮБЕМ 0. ю Б ЯКСВЮЕ МЕСДЮВХ - РЕЙЯР "Errors parsing <filename>" БЛЕЯРЕ Я БМСРПЕММХЛХ ЯННАЫЕМХЪЛХ ПЮГАНПЫХЙЮ Х ЙНД БНГБПЮРЮ 255. оПНБЕПЙЮ ХЯУНДМНЦН ЙНДЮ ОПХ ОНЛНЫХ ДЮММНИ НОЖХХ МЕ МЮУНДХР ТЮРЮКЭМШУ НЬХАНЙ (МЮОПХЛЕП, РЮЙХУ ЙЮЙ БШГНБ МЕНОПЕДЕКЕММШУ ТСМЙЖХИ). хЯОНКЭГСИРЕ НОЖХЧ -f, ЕЯКХ БШ УНРХРЕ ОПНБЕПХРЭ ЙНД МЮ МЮКХВХЕ ТЮРЮКЭМШУ НЬХАНЙ.
| |||
-m | --modules |
оПХ ХЯОНКЭГНБЮМХХ ЩРНИ НОЖХХ PHP МЮОЕВЮРЮЕР ЯОХЯНЙ БЯРПНЕММШУ (Ю РЮЙФЕ ОНДЦПСФЕММШУ) ЛНДСКЕИ Zend Х PHP.
| |||
-i | --info | хЯОНКЭГНБЮМХЕ ЩРНИ НОЖХХ ОПХБНДХР Й БШГНБС ТСМЙЖХХ phpinfo() Х Х БШБНДС ПЕГСКЭРХПСЧЫЕИ ХМТНПЛЮЖХХ. б ЯКСВЮЕ, ЕЯКХ PHP ПЮАНРЮЕР МЕЙНППЕЙРМН, АСДЕР БЕЯЭЛЮ КНЦХВМН БШОНКМХРЭ php -i Х ОНЯЛНРПЕРЭ, БШБНДЪРЯЪ КХ ЯННАЫЕМХЪ НА НЬХАЙЕ ДН ХМТНПЛЮЖХНММШУ РЮАКХЖ ХКХ ДЮФЕ БЛЕЯРН МХУ. сВРХРЕ, ВРН БЕЯЭ БШБНД АСДЕР Б ТНПЛЮРЕ HTML Х, ЙЮЙ ЯКЕДЯРБХЕ, ЛНФЕР БШЦКЪДЕРЭ МЕВХРЮАЕКЭМН. | |||
-r | --run |
щРЮ НОЖХЪ ОНГБНКЪЕР БШОНКМЪРЭ PHP-ЙНД, СЙЮГЮММШИ МЕОНЯПЕДЯРБЕММН Б ЙНЛЮМДМНИ ЯРПНЙЕ. нРЙПШБЮЧЫХЕ Х ГЮБЕПЬЮЧЫХЕ PHP-РЕЦХ (<?php Х ?>) МЕ МСФМШ Х, АНКЕЕ РНЦН, ОПХБНДЪР Й ЯХМРЮЙЯХВЕЯЙНИ НЬХАЙЕ.
| |||
-h | --help | оПХ ОНЛНЫХ ЩРНИ НОЖХХ БШ ЛНФЕРЕ ОНКСВХРЭ ХМТНПЛЮЖХЧ Н ДЕИЯРБСЧЫЕЛ ЯОХЯЙЕ НОЖХИ ЙНЛЮМДМНИ ЯРПНЙХ Х ХУ ЙПЮРЙНЕ НОХЯЮМХЕ. | |||
-? | --usage | юКХЮЯ ДКЪ --help. |
хЯОНКМЪЕЛШИ PHP-ТЮИК ЛНФЕР ХЯОНКЭГНБЮРЭЯЪ ДКЪ ГЮОСЯЙЮ PHP-ЯЙПХОРНБ МЕГЮБХЯХЛН НР БЕА-ЯЕПБЕПЮ. б ЯКСВЮЕ, ЕЯКХ БШ ПЮАНРЮЕРЕ Б Unix-ОНДНАМНИ ЯХЯРЕЛЕ, БЮЛ МЕНАУНДХЛН ДНАЮБХРЭ ЙН БЯЕЛ ЯЙПХОРЮЛ ЯОЕЖХЮКЭМСЧ ОЕПБСЧ ЯРПНЙС Х ЯДЕКЮРЭ ХУ ХЯОНКМЪЕЛШЛХ, ВРНАШ СЙЮГЮРЭ, ЙЮЙЮЪ ХГ ОПНЦПЮЛЛ ДНКФМЮ НАПЮАЮРШБЮРЭ ЩРХ ЯЙПХОРШ. мЮ Windows-ОКЮРТНПЛЮУ БШ ЛНФЕРЕ МЮГМЮВХРЭ НАПЮАНРВХЙ php.exe ДКЪ ТЮИКНБ Я ПЮЯЬХПЕМХЪЛХ .php КХАН ЯНГДЮРЭ ОЮЙЕРМШИ (.bat) ТЮИК ДКЪ ГЮОСЯЙЮ ЯЙПХОРНБ ОНЯПЕДЯРБНЛ PHP. яРПНЙЮ, ДНАЮБКЪЕЛЮЪ БМЮВЮКЕ ЯЙПХОРЮ ДКЪ Unix-ЯХЯРЕЛ, МЕ БКХЪЕР МЮ ХУ ПЮАНРС Б ня Windows, РЮЙХЛ НАПЮГНЛ БШ ЛНФЕРЕ ЯНГДЮБЮРЭ ЙПНЯЯОКЮРТНПЛЕММШЕ ЯЙПХОРШ. мХФЕ ОПХБЕДЕМ ОПНЯРНИ ОПХЛЕП ЯЙПХОРЮ, БШОНКМЪЕЛНЦН ХГ ЙНЛЮМДМНИ ЯРПНЙХ:
б ОПХБЕДЕММНЛ ОПХЛЕПЕ ЛШ ХЯОНКЭГСЕЛ ЯОЕЖХЮКЭМСЧ ОЕПБСЧ ЯРПНЙС ДКЪ СЙЮГЮМХЪ МЮ РН, ВРН ЩРНР ЯЙПХОР МЕНАУНДХЛН ГЮОСЯЙЮРЭ ОПХ ОНЛНЫХ PHP. оНЯЙНКЭЙС ЛШ ПЮАНРЮЕЛ Я CLI-БЕПЯХЕИ, РН HTTP-ГЮЦНКНБЙХ БШБНДХРЭЯЪ МЕ АСДСР. оПХ МЮОХЯЮМХХ ЙНМЯНКЭМШУ ОПХКНФЕМХИ МЮ PHP БЮЛ ДНЯРСОМШ ДБЕ ОЕПЕЛЕММШЕ: $argc Х $argv. оЕПБЮЪ - ЙНКХВЕЯРБН ОЕПЕДЮММШУ ЮПЦСЛЕМРНБ ОКЧЯ НДХМ (ХЛЪ БШОНКМЪЕЛНЦН ЯЙПХОРЮ). бРНПЮЪ - ЛЮЯЯХБ ОЕПЕДЮММШУ ЮПЦСЛЕМРНБ, МЮВХМЮЪ Я ХЛЕМХ ЯЙПХОРЮ Я МСКЕБШЛ ХМДЕЙЯНЛ ($argv[0]).
рЮЙФЕ Б ОПХБЕДЕММНЛ ОПХЛЕПЕ ЛШ ОПНБЕПЪЕЛ ЙНКХВЕЯРБН ОЕПЕДЮММШУ ЮПЦСЛЕМРНБ. б ЯКСВЮЕ, ЕЯКХ ХУ АНКЕЕ ХКХ ЛЕМЕЕ НДМНЦН, Ю РЮЙФЕ Б ЯКСВЮЕ, ЕЯКХ ОЕПЕДЮММШИ ЮПЦСЛЕМР АШК --help, -help, -h ХКХ -?, ЛШ БШБНДХЛ ЯОПЮБНВМНЕ ЯННАЫЕМХЕ, ОНДЯРЮБКЪЪ ХЛЪ БШОНКМЪЕЛНЦН ЯЙПХОРЮ ДХМЮЛХВЕЯЙХ. б НАПЮРМНЛ ЯКСВЮЕ ЛШ ОПНЯРН ОЕВЮРЮЕЛ ОНКСВЕММШИ ЮПЦСЛЕМР.
еЯКХ БШ УНРХРЕ БШОНКМХРЭ ОПХБЕДЕММШИ ОПХЛЕП Б Unix-ЯХЯРЕЛЕ, БЮЛ МЕНАУНДХЛН ЯДЕКЮРЭ ЕЦН ХЯОНКМЪЕЛШЛ Х ОПНЯРН БШОНКМХРЭ ХГ ЙНМЯНКХ script.php echothis ХКХ script.php -h. б Windows-ЯХЯРЕЛЕ БШ ЛНФЕРЕ ЯНГДЮРЭ ДКЪ ЩРНЦН ОЮЙЕРМШИ ТЮИК:
оПЕДОНКЮЦЮЪ, ВРН ЯЙПХОР МЮГШБЮЕРЯЪ script.php Х ОНКМШИ ОСРЭ Й CLI php.exe ЯНБОЮДЮЕР Я c:\php\cli\php.exe, ОПХБЕДЕММШИ ОЮЙЕРМШИ ТЮИК ГЮОСЯРХР ЯЙПХОР Я ОЕПЕДЮММШЛХ БЮЛХ ОЮПЮЛЕРПЮЛХ: script.bat echothis КХАН script.bat -h.
бШ РЮЙФЕ ЛНФЕРЕ НГМЮЙНЛХРЯЪ Я ПЮЯЬХПЕМХЕЛ Readline, ЙНРНПНЕ ЛНФЕР АШРЭ ХЯОНКЭГНБЮМН ДКЪ СЯНБЕПЬЕМЯРБНБЮМХЪ ЙНМЯНКЭМНЦН PHP-ЯЙПХОРЮ.
Пред. | Начало | След. |
нЦПЮМХВЕММШЕ ХКХ МЕДНЯРСОМШЕ Б ГЮЫХЫЕММНЛ ПЕФХЛЕ ТСМЙЖХХ | Уровень выше | яОПЮБНВМХЙ ТСМЙЖХИ |
HIVE: All information for read only. Please respect copyright! |