Php info php. Dajemo datoteke učinkovito s PHP-om. Koristimo modul web-poslužitelja

bilo tko softverŽelite raditi na vašem web-poslužitelju ima određene zahtjeve koje se mora podudarati. Na primjer, Wordpress zahtijeva PHP verziju 5.2.4 i više. Ovisno o poslužitelju, možete promijeniti neke PHP postavke, a drugi naprotiv promjenama je zabranjeno, međutim, možete dobiti samo informacije o PHPINFO datoteci. U ovom priručniku, naučit ćete kako stvoriti PHPINFO datoteku i saznati vrijednosti i status PHP modula. Također može biti korisno za informacije o vašem računu hostinga, kao što je max_execution_time, memorija_limit, post_max_size, a drugi.

Prije nego pokrenete ovaj vodič, trebat će vam sljedeće:

  • Pristup upravljačkoj ploči vašeg hostinga ili FTP računa

Opcija 1 - Provjera PHP informacije putem upravljačke ploče hostinga

U hostingu, informacije o PHP računu možete pronaći u odjeljku Napredno → PHP informacije, Ovo je vrlo zgodna funkcija, jer nećete morati stvoriti dodatne datoteke na hostingu.

Nakon toga se preselite na stranicu sa svim potrebnim informacijama o vašoj PHP verziji, modulima i vrijednostima. Da biste potražili određeni modul ili funkcija, koristite pretraživanje pritiskom na tipkovnicu. Ctrl + F..

Čestitamo! Naučili ste kako pristupiti informacije o vašem PHP-u putem upravljačke ploče dužina.

Opcija 2 - Provjera php informacija stvaranjem phpinfo.php datoteke

Ne brinite ako vaša hosting platforma ne podržava značajku prikazanu u Opcija 1., Isti se rezultat može postići stvaranjem posebna datoteka. Unutar vašeg računa hostinga. Datoteka će također prikazati sve informacije o vašem PHP-u i biti dostupne putem preglednika.

Korak 2.1 - Stvaranje PHPINFO datoteke

Postoji nekoliko načina za stvaranje PHPINFO datoteke. U ovom vodiču koristit ćemo za to. Međutim, isti rezultat se može postići stvaranjem datoteke na vašem lokalno računalo i dodatno učitavanje datoteke na poslužitelj.

Unesite upravljačku ploču vašeg hostinga i otvorite Upravitelj datoteka , pritisni gumb Nova datoteka. Za stvaranje nove datoteke.

Na prvom polju navedite put u kojem će se stvoriti nova datoteka. Zatim, u polju Novi naziv datoteke Unesi phpinfo.php., U većini slučajeva možete napustiti put nepromijenjen. / public_html., U ovom slučaju, datoteka će biti stvorena u korijenskom direktoriju vaše web-lokacije.

Korak 2.2 - datoteka uređivanja

U ovoj fazi već imate praznu datoteku phpinfo.php. u katalogu public_html, Kopirajte sljedeći kod u datoteku i kliknite ikonu. Uštedjetiu lijevom kutu zaslona.

To je sve, uspješno ste stvorili PHP datoteku koja prikazuje sve parametre vašeg PHP-a. Kao što je već spomenuto, isti rezultat se može postići:

  1. Bilo koji uređivač teksta I stvorite datoteku phpinfo.php. Na vašem računalu.
  2. Dodajte sljedeći kôd u datoteku:
  1. Preuzmite datoteku pomoću FTP-a u svoj katalog public_html.

Korak 2.3 - Provjera informacija o PHP-u putem preglednika

Ako je sve učinjeno ispravno, sada možete pristupiti stvorenoj datoteci dodavanjem na kraju naziva domene / P.hpinfo.php., Na primjer, http: //vashdomen.ru/ppinfo.php.

Morate vidjeti sličan rezultat prilikom otvaranja ove stranice putem preglednika:

Na ovoj stranici možete vidjeti sve postavke PHP-a.

Zaključak

Nakon završetka ovaj vodič Naučili ste kako stvoriti PHPINFO datoteku i provjeriti informacije o PHP postavkama. Ova informacija Korisno je ako želite saznati postavke vašeg hosting ili pokrenuti softver koji zahtijeva određene PHP module.

(PHP 3, PHP 4, PHP 5)

pHPINFO - prikazuje mnogo informacija o PHP-u.

Opis

int phpinfo ()

Prikazuje se veliki broj Informacije o trenutnom statusu PHP-a. To uključuje informacije o opcijama PHP kompilacije i proširenja, PHP verzije, informacije o poslužitelju i okolišu (ako je sastavljen kao modul), PHP okruženje, verzija OS, put, master i lokalne konfiguracije, HTTP i PHP licencne kape. Budući da je svaki sustav konfiguriran na svoj način, PHPINFO () se obično koristi za provjeru konfiguracije i dostupnosti unaprijed definiranih varijabli u ovom sustavu. Također PHPINFO () je važan alat za ispravljanje pogrešaka, jer sadrži sve EGPC podatke (okruženje, dobiti, Post, Cookie, poslužitelj). Izlaz se može specijalizirati prijenosom jednog ili više konstantno Bitne vrijednosti sažele su u izboru koji parametar. Također možete kombinirati odgovarajuće konstantne ili bitne vrijednosti pomoću rada.

Tablica 1. PHPINFO () Opcije
Ime (konstantno) ažuriranje informacija info_general1st konfiguracija, PHP.ini položaj, izgradnja / izgradnja datum, web poslužitelj, sustav, itd. Info_credits2 Landsphp 4.Sm. Također phpcredits () .info_configuration4tecents lokalne i majstor PHP-direktive vrijednosti. Cm. Također Ini_get () .info_modules8wed moduli i njihove odgovarajuće postavke. Info_environment16environment Varijable Informacije dostupne u $ _env .infO_variables32 prikazuje sve unaprijed definirane varijable iz EGPC (okruženja, dobiti, post, kolačić, poslužitelj) .info_licenge64informationfp licence.cm. Također FAQ Faq .info_all-1 visi iznad navedenog. To je zadana vrijednost.

Napomena: Dijelovi prikazanih informacija isključeni su prilikom instaliranja Exposse_FPP konfiguracije. To uključuje PHP i Zend Logos i zajmove. Cm. također

Ako trebate dati datoteke ne izravno web poslužiteljem, ali s pomoću PHP-a. (Na primjer, za prikupljanje statistike preuzimanja), tražim mačku.

1. Korištenje readfile ()

Metoda je dobra ono što radi iz kutije. Potrebno je samo zapisati datoteku slanje datoteke (malo modificirani primjer iz službene dokumentacije):

Funkcija datoteka_force_download ($ datoteka) (if_exists ($ datoteka)) (// resetirajte PHP izlazni spremnik kako biste izbjegli prelijevanje memorije dodijeljenog u skriptu // ako to ne čini da će datoteka biti pročitana u memoriji u potpunosti! Ako (Ob_get_level ( )) (Ob_end_clean ();) // prisiljavajući preglednik da prikazuje prozor za pohranu datoteka zaglavlja ("Opis sadržaja: Prijenos podataka."); Zaglavlje (" Vrsta sadržaja: aplikacija / oktet-struja "); zaglavlje (" sadržaj-dispozicija: privitak; naziv datoteke \u003d ". Basename ($ datoteka)); zaglavlje (" zaglavlje-transfer-kodiranje: binarno ") ; Zaglavlje ("Ističe: 0"); zaglavlje ("Kontrola predmemorije: mora-revalidirati"); zaglavlje ("Pragma: javnost"); zaglavlje ("duljina sadržaja:".) (Datoteka $)); Pročitali smo datoteku i pošaljemo ga na korisnika readfile ($ datoteka); izlaz;)))
Na taj način možete čak i poslati velike datotekeBudući da će PHP pročitati datoteku i odmah ga dati korisniku u dijelovima. Dokumentacija jasno navodi da je readfile () ne smije Stvorite probleme s memorijom.

Značajke:

  • Datoteka se čita u unutarnje pufer funkcije Readfile (), od kojih je veličina 8KB (hvala 2Fast4rabbit)

2. Pročitajte i pošaljite datoteku ručno

Metoda koristi isti Drupal prilikom slanja datoteka s privatnog sustav datoteka (Datoteke nisu dostupne izravno referencom):

Funkcija datoteka_force_download ($ datoteka) (if_exists ($ datoteka)) (// resetirajte PHP izlazni spremnik kako biste izbjegli prelijevanje memorije dodijeljenog u skriptu // ako to ne čini da će datoteka biti pročitana u memoriji u potpunosti! Ako (Ob_get_level ( )) (OB_END_CLEAN ();) // prisiljavanje preglednika da prikazuje prozor za pohranu datoteka zaglavlja ("sadržaj-opis: prijenos datoteka"); zaglavlje ("tip sadržaja: aplikacija / oktet-struja"); zaglavlje ("sadržaj") -Ispozicija: priključak; naziv datoteke \u003d ". Basename ($ datoteka)); zaglavlje (" Kodiranje za prijenos sadržaja: binarni "); Zaglavlje (" Kontrola predmemorije: Mora-revalidirati "); zaglavlje (" Pragma: javnost "); ; Zaglavlje ("duljina sadržaja:". Fileze ($ datoteka)); // Mi smo pročitali datoteku i pošaljete ga korisniku ako ($ FD \u003d Fopen ($ datoteka, RB)) (dok (! FEOF ($ FD )) (Ispis flead ($ FD, 1024);) FKLOSE ($ FD);) Izlaz;)))
Značajke:

  • Skripta čeka čitanu datoteku koju treba čitati i dati korisniku.
  • Omogućuje spremanje memorije poslužitelja

3. Koristite modul web-poslužitelja

3a. Apache.
XsendFile modul omogućuje slanje Apache slanje datoteke pomoću posebnog zaglavlja. Postoje verzije na UNIX i Windows, pod verzijom 2.0. *, 2.2. * I 2.4. *

U postavkama hosta morate omogućiti presretanje naslova pomoću Direktive:
XSendfile na.
Također možete odrediti bijeli popis direktorija, datoteka u kojima se može obraditi. Važno: Ako imate Windows-based poslužitelj, put bi trebao sadržavati slovo diska u gornjem slučaju.

Opis mogućih opcija na internetskoj stranici programera: https://tn123.org/mod_xsendfile/

Primjer slanja datoteke:

Funkcija datoteka_force_download (file_exists ($ datoteka) (zaglavlje ("X-Sendfile:". RealPath ($ datoteka)); zaglavlje ("Vrsta sadržaja: aplikacija / oktet-struja"); \u003d ". Basename ($ datoteka)); izlaz;)))

3b. Nginx
Nginx može poslati datoteke iz kutije putem posebnog zaglavlja.

Raditi ispravno, potrebno je izravno zabraniti pristup mapi konfiguracijska datoteka.:
Mjesto / zaštićeno / (unutarnje; korijen / neki / put;)
Primjer slanja datoteke (datoteka mora biti u / nekom / stazu / zaštićenom imeniku):

Funkcija datoteka_force_download (datoteka_exists ($ datoteka)) (zaglavlje ("X-Accel-Preusmjeravanje:". $ Datoteka); zaglavlje ("Vrsta sadržaja: aplikacija / oktet-struja"); zaglavlje ("sadržaj -Disvjetni) \u003d ". Basename ($ datoteka)); izlaz;)))
Više informacija o službenoj stranici dokumentacije

Značajke:

  • Skripta se dovrši odmah nakon izvršenja svih uputa.
  • Fizički datoteka šalje sam web poslužitelj, a ne php
  • Minimalna memorija poslužitelja i resursa poslužitelja
  • Maksimalna brzina

Ažuriranje: Habyruuser ilyaplot daje koristan savjetBolje je poslati ne aplikaciju / oktet-struju, već pravu datoteku MIME tip. Na primjer, dopustit će pregledniku zamijeniti obavezni programi U dijaloškom okviru za spremanje datoteke.