Използване на PHP от командния ред

# 13; От версия 4.3.0, PHP поддържа нов тип САПИ (интерфейс за разработка на приложения на сървъра), наречена CLI. което означава, # 13; интерфейс на командния ред. Както подсказва името, този тип ИСДП има за цел да развие конзолата (или дори десктопа) приложения в PHP. Има някои малки разлики между CLI ИСДП и другите видове САПИ. които ще бъдат обсъдени в тази глава. Това ще бъде полезно да се отбележи, че CLI и CGI - SAPI интерфейси са различни, въпреки че тяхното поведение много общо помежду си.

# 13; За първи път в експеримент, CLI ИСДП е включена в освобождаването на PHP 4.2.0, и стартирайте скрипта ./configure е необходимо изрично да се уточни опция --enable-CLI. Започвайки с PHP 4.3.0, CLI ИСДП не е експериментално и --enable-CLI опция събрание присъства по подразбиране. Можете да деактивирате CLI ИСДП с помощта на --disable-CLI опция.

# 13; По отношение на PHP 4.3.0, името, местоположението и наличието на двоичните файлове CLI / CGI зависи от това как той е инсталиран PHP. По подразбиране, когато се изпълняват правят създаден като CGI, както и модул за CLI, каталози САПИ / CGI / PHP и САПИ / CLI / PHP съответно в директория с PHP код кодове. Ще отбележим, че двата файла имат едно и също име: PHP. Какво се случва, когато марката се инсталира. Зависи от това какво опции, който сте посочили в етапа на конфигурация. Ако предпочитате, като например модул САПИ apxs един или задаване на опция --disable-CGI. CLI модул ще се копира / хамбар / PHP, когато марката се инсталира. в противен случай тя ще се копира на CGI-модул. Например, ако скриптът е пуснат ./configure укажете --with вариант - apxs. CLI-версия ще се копира в / хамбар / PHP, когато марката се инсталира. Ако искате да замените CGI-модул, използване грим инсталирай CLI след пускането направи инсталирате. Другият вариант е да укажете опцията за --disable-CGI, когато работи ./configure скрипта.

Забележка: Тъй като и двете опции, --enable-CLI и # 13 - позволи-CGI. Представяме подразбиране един присъствието на --enable-CLI-лайн по време на движение ./configure скрипт достатъчно, за да CLI-версия се инсталира в / хамбар / PHP, когато марката се инсталира.

# 13; Разпределенията за Windows версии между PHP 4.2.0 и PHP 4.2.3 включват CLI-модул като PHP-cli.exe. намира в същата директория като php.exe на CGI-модул. PHP 4.3.0 и Windows разпределение vlyuchaet CLI-модул php.exe. CLI разположен в отделна директория. трите имена - CLI / php.exe. От PHP 5, CLI-модул се намира в главната директория и призова php.exe. CGI-модул също е включена в дистрибуцията, наречен PHP-cgi.exe.

# 13; Започвайки с PHP 5, в разпределението на Windows включва нова PHP-win.exe файл. Той е напълно равностойно на CLI, с изключение, че PHP-печелиш абсолютно нищо носи, който води до otstutstvie конзола (DOS прозорец няма да се появи на екрана). Това поведение е подобно на PHP-GTK. При съставяне на изходния код трябва да посочите опция --enable-CLI-Win32.

Коя от версиите на SAPI инсталирани. Следвайте PHP-V от командния ред, за да получите информация за това коя от двете PHP модули инсталирани: CGI или CLI. Също така можете да използвате за тази php_sapi_name () или постоянно # 13; PHP_SAPI.

Забележка: Съответният Unix справочната страница е добавена в PHP 4.3.2. Можете да я видите, като пуснете човек PHP конзола.

# 13; Основните разлики са CLI ИСДП от други SAPI реализации.

# 13; За разлика от CGI SAPI заглавията не са написани на изходен поток.

# 13; Въпреки факта, че ИСДП на CGI има ли начин за потискане на HTTP-заглавията, в CLI ИСДП няма възможност да ги включите.

# 13; CLI е публикации потискане на режим по подразбиране, обаче, -q и --no заглавната част са запазени за обратна съвместимост, която ви позволява да използвате CGI-скриптове, написани преди това.

# 13; Текущият каталог не се променя работната директория на скрипта. (Ключове и -С --no-CHDIR запазва за обратна съвместимост)

# 13; Съобщения за грешки се извеждат в текстов режим (без HTML-формат).

# 13; Някои настройки в php.ini отмените CLI САПИ. защото те не правят смисъл, когато се работи в командния ред:

Таблица 43-1. Предефинирани php.ini директива

# 13; допълнителен модул натоварваща Zend. Ако въведете само името на файла, PHP търси модула в текущия път на библиотеките по подразбиране (в Linux-системи, обикновено е вписана в /etc/ld.so.conf). Ако името на файла и пълния път до нея, търсенето не се извършва в системните библиотеки. Определяне на относителния път към модула ще доведе до търсене на файл в определен път по отношение на текущата директория.

# 13; Тази опция осигурява удобен начин за проверка на посочения PHP-кода за синтактични грешки. В случай на успешна проверка на следната фраза ще бъде отпечатано: "Не синтактични грешки, открити в "- и кода на връщане ще бъде 0. В случай на неуспех - текстът" грешки при анализа "Заедно с вътрешния анализатора съобщения и връщане код 255.

# 13; източник тест с помощта на тази опция не е фатални грешки (като призив към недефинирани функции). Използвайте опцията -f. ако искате да проверите кода за фатални грешки.

Забележка: Тази опция не е съвместим с опция -r.