Noțiuni introductive c php

Utilizarea PHP din linia de comandă

Începând cu versiunea 4.3.0, PHP suporta un nou tip de SAPI (interfata de dezvoltare a aplicațiilor de server) numit CLI. care înseamnă # 13; o interfață linie de comandă. După cum sugerează și numele, acest tip de SAPI este conceput pentru a dezvolta consola (sau chiar desktop) aplicații în PHP. Există câteva diferențe minore între CLI SAPI și alte tipuri de SAPI. care vor fi discutate în acest capitol. Acesta va fi util să rețineți că CLI și CGI - interfețele SAPI sunt diferite, deși comportamentul lor de mult în comun.

# 13; mai întâi ca un experiment CLI SAPI a fost inclusă în eliberarea de PHP 4.2.0, și rulați scriptul configure a fost necesar să se precizeze în mod explicit opțiunea --enable-cli. Începând cu PHP 4.3.0, CLI SAPI nu este experimental, și opțiunea de asamblare --enable-cli este prezent în mod implicit. Puteți dezactiva CLI SAPI folosind opțiunea --disable-cli.

# 13; În ceea ce privește PHP 4.3.0, numele, locația și existența binarele CLI / CGI depinde de modul în care este instalat PHP. În mod implicit, atunci când rulează face create ca CGI, iar modulul CLI, cataloage SAPI / cgi / php și SAPI / cli / php, respectiv, într-un director cu codurile sursă PHP. Veți observa că ambele fișiere au același nume: PHP. Ce se întâmplă atunci când make install. Depinde de ce opțiuni ați specificat în faza de configurare. Dacă preferați cum ar fi un modul apxs SAPI, sau specificați opțiunea --disable cgi. Modul CLI vor fi copiate / bin / php, atunci când make install. în caz contrar acesta va fi copiat pe CGI-modulul. De exemplu, în cazul în care script-ul se execută ./configure specificați -with opțiune - apxs. CLI-versiune va fi copiat în / bin / php, atunci când make install. Dacă doriți să înlocuiți CGI-modulului, utilizarea make install-cli după rularea make install. Alternativ, puteți specifica opțiunea --disable-cgi atunci când rulează ./configure script. # 13;

Notă: Deoarece ambele opțiuni, --enable-cli și # 13; - permite cgi. prezintă implicit o prezență --enable-line în timp ce-cli rulează destul de ./configure script CLI-versiune a fost instalată în / bin / php, atunci când make install.

# 13; Distribuțiile pentru versiunile Windows între PHP 4.2.0 și PHP 4.2.3 includ CLI-modulul ca php-cli.exe. situat în același director ca php.exe CGI-modul. PHP 4.3.0 și Windows vlyuchaet distribuție CLI-modulul php.exe. cli situat într-un director separat. numele complet - cli / php.exe. Deoarece PHP 5, CLI-modul este localizat în directorul principal și numit php.exe. CGI-modul este, de asemenea, inclus în distribuție numit php-cgi.exe.

# 13; Ca de PHP 5, în distribuția Windows include un nou fișier php-win.exe. Acesta este pe deplin echivalentă cu CLI, cu excepția faptului că php-win absolut nimic aduce care duce la otstutstvie consola (caseta DOS nu apare pe ecran). Acest comportament este similar cu php-gtk. Atunci când compilarea de la codul sursă trebuie să specificați opțiunea --enable-cli-Win32.

Care dintre versiunile SAPI instalate. Urmați php -v din linia de comandă pentru a obține informații cu privire la care dintre cele două module PHP instalate: CGI sau CLI. De asemenea, puteți utiliza pentru acest php_sapi_name () sau constantă # 13; PHP_SAPI.

Notă: relevantă pagina de manual Unix a fost adăugat în PHP 4.3.2. O puteți vedea rulând consola om php.

# 13; Principalele diferențe sunt SAPI CLI de la alte implementări SAPI.

# 13; Spre deosebire de CGI titluri SAPI nu sunt scrise în fluxul de ieșire.

# 13, în ciuda faptului că SAPI CGI există o modalitate de a suprima HTTP-antete, în CLI SAPI este nici o posibilitate de a le include.

# 13; CLI este modul implicit de suprimare a posturilor, cu toate acestea, -q și --no-antet sunt rezervate pentru compatibilitatea cu versiunile anterioare, care vă permite să utilizați CGI-script-uri scrise anterior.

# 13; directorul curent nu se schimba directorul de lucru al script-ul. (Taste și -C --no-chdir păstrat pentru compatibilitate)

# 13; mesaje de eroare sunt emise în modul text (fără HTML format).

# 13; unele setări php.ini suprascrisă în CLI SAPI. pentru că ei nu au sens atunci când se lucrează în linia de comandă:

Tabelul suprascrisă directivele php.ini