Първи стъпки в PHP

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

От версия 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 скрипта. # 13;

Забележка: Тъй като и двете опции, --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 САПИ. защото те не правят смисъл, когато се работи в командния ред:

Таблица отменено директивите на php.ini