Kako ustvariti datoteko Phpinfo in preveriti podatke PHP. Učinkovito dostavite datoteke z uporabo PHP Attentive info php

(PHP 3, PHP 4, PHP 5)

phpinfo - prikaže veliko informacij o PHP.

Opis

int phpinfo()

Prikaže veliko količino informacij o trenutnem stanju PHP. To vključuje informacije o možnostih in razširitvah prevajanja PHP, različici PHP, informacijah o strežniku in okolju (če je prevedeno kot modul), okolju PHP, različici OS, poteh, spremenljivkah glavne in lokalne konfiguracijske možnosti, glavah HTTP in PHP licence. Ker je vsak sistem konfiguriran drugače, se phpinfo() običajno uporablja za preverjanje konfiguracijskih nastavitev in razpoložljivosti vnaprej določenih spremenljivk v danem sistemu. Phpinfo() je tudi pomemben pripomoček za odpravljanje napak, saj vsebuje vse podatke EGPCS (okolje, GET, POST, piškotek, strežnik). Izhod je mogoče specializirati s posredovanjem enega ali več od naslednjega konstantna bitne vrednosti, seštete v neobveznem parametru what. Z operacijo lahko tudi kombinirate ustrezne konstantne ali bitne vrednosti.

Tabela 1. Možnosti phpinfo().
Ime (konstanta) Vrednost Opis INFO_GENERAL1 Konfiguracijski niz, lokacija php.ini, datum gradnje, spletni strežnik, sistem itd.INFO_CREDITS2PHP Zasluge 4.Glej. tudi phpcredits().INFO_CONFIGURATION4Trenutne lokalne in glavne vrednosti direktiv php. Glej. tudi ini_get() .INFO_MODULES8 Naloženi moduli in njihove ustrezne nastavitve.INFO_ENVIRONMENT16Informacije o spremenljivki okolja, na voljo tudi v $_ENV .INFO_VARIABLES32Prikaže vse vnaprej določene spremenljivke iz EGPCS (okolje, GET, POST, piškotek, strežnik).INFO_LICENSE64PHP informacije o licenci.Glej. tudi licenca faq .INFO_ALL-1Vse zgoraj To je privzeta vrednost.

Opomba: deli prikazanih informacij so onemogočeni, ko je nastavitev konfiguracije expose_php nastavljena na izklopljeno. To vključuje logotipe in zasluge PHP in Zend. Glej. tudi

Kaj programsko opremo, ki ga želite izvajati na svojem spletnem strežniku, ima določene zahteve, ki jih mora izpolnjevati. Na primer, WordPress zahteva različico PHP 5.2.4 ali novejšo. Odvisno od strežnika lahko spremenite nekatere nastavitve PHP, druge pa je, nasprotno, prepovedano spreminjati, vendar lahko informacije o vseh najdete v datoteki phpinfo. V tej vadnici se boste naučili, kako ustvariti datoteko phpinfo in ugotoviti vrednosti in status modulov PHP. To je lahko koristno tudi za pridobivanje informacij o vašem računu gostovanja, kot so max_execution_time, memory_limit, post_max_size in druge.

Preden začnete s tem vodnikom, boste potrebovali naslednje:

  • Dostop do vaše nadzorne plošče gostovanja ali računa FTP

Možnost 1 – Preverjanje informacij o PHP prek nadzorne plošče gostovanja

Pri Hostingerju lahko podatke o PHP za vaš račun najdete v Napredno → Informacije o PHP. To je zelo priročna funkcija, saj vam ne bo treba ustvarjati dodatnih datotek na vašem gostovanju.

Po tem boste preusmerjeni na stran z vsemi potrebnimi informacijami o vaši različici PHP, modulih in vrednostih. Če želite poiskati določen modul ali funkcijo, uporabite iskanje s pritiskom na bližnjico na tipkovnici CTRL+F.

čestitke! Naučili ste se dostopati do svojih php podatkov prek nadzorne plošče Hostinger.

Možnost 2 – Preverjanje informacij o PHP z ustvarjanjem datoteke phpinfo.php

Ne skrbite, če vaša platforma za gostovanje ne podpira funkcije, prikazane v Možnost 1. Enak rezultat je mogoče doseči z ustvarjanjem posebne datoteke v vašem računu gostovanja. Datoteka bo prikazala tudi vse informacije o vašem PHP in bo dostopna prek brskalnika.

Korak 2.1 – Ustvarite datoteko phpinfo

Datoteko phpinfo lahko ustvarite na več načinov. V tej vadnici bomo uporabili. Vendar lahko enak rezultat dosežete, če ustvarite datoteko na svojem lokalni računalnik in nadaljnje nalaganje datoteke na strežnik prek .

Prijavite se v nadzorno ploščo gostovanja in odprite Upravitelj datotek . Kliknite gumb Nova datoteka da ustvarite novo datoteko.

V prvem polju navedite pot, kjer bo ustvarjen nova datoteka. Naprej, na terenu Novo ime datoteke vstopiti phpinfo.php. V večini primerov lahko pot pustite nespremenjeno /javni_html. V tem primeru bo datoteka ustvarjena v korenskem imeniku vašega spletnega mesta.

Korak 2.2 – Urejanje datoteke

Na tej stopnji že imate prazno datoteko phpinfo.php v katalogu public_html. Kopirajte naslednjo kodo v datoteko in kliknite ikono Shrani v levem kotu zaslona.

To je to, uspešno ste ustvarili datoteko PHP ki bo prikazal vse vaše PHP možnosti. Kot smo že omenili, lahko enak rezultat dosežemo z:

  1. Uporabite katero koli urejevalnik besedil in ustvarite datoteko phpinfo.php na vašem računalniku.
  2. V datoteko dodajte naslednjo kodo:
  1. Prenesite datoteko s FTP v svoj imenik public_html.

Korak 2.3 – Preverjanje podatkov PHP prek brskalnika

Če je bilo vse opravljeno pravilno, lahko zdaj dostopate do ustvarjene datoteke tako, da dodate na konec imena svoje domene /strhpinfo.php. npr. http://yourdomain.ru/phpinfo.php

Ko odprete to stran v brskalniku, bi morali videti podoben rezultat:

Na tej strani boste lahko videli vse svoje nastavitve PHP.

Zaključek

Ko ste končali to vadnico, ste se naučili ustvariti datoteko phpinfo in preveriti svoje podatke. PHP nastavitve. Te informacije je uporaben, če želite izvedeti svoje nastavitve gostovanja ali zagnati programsko opremo, ki zahteva določene module PHP.

Če želite datotek poslati ne neposredno prek spletnega strežnika, ampak iz z uporabo PHP(na primer za zbiranje statistik prenosov), prosimo pod kat.

1. Uporabite readfile()

Dobra stran te metode je, da deluje takoj. Samo napisati morate lastno funkcijo pošiljanja datotek (nekoliko spremenjen primer iz uradne dokumentacije):

Funkcija file_force_download($file) ( if (file_exists($file)) ( // ponastavi medpomnilnik izpis PHP da preprečite prepolnitev pomnilnika, dodeljenega skriptu // če tega ne storite, bo datoteka v celoti prebrana v pomnilnik! if (ob_get_level()) ( ob_end_clean(); ) // prisili brskalnik, da prikaže okno za shranjevanje glave datoteke ("Opis vsebine: Prenos datoteke"); header("Content-Type: application/octet-stream"); ​​​​header("Content-Disposition: attachment; filename=" . basename($file)); header("Content-Transfer-Encoding: binary ") ; header("Poteče: 0"); header("Cache-Control: must-revalidate"); header("Pragma: public"); header("Content-Length: " . filesize($file)); // preberi datoteko in jo pošlji uporabniku readfile($file); exit; ) )
Tudi velike datoteke je mogoče poslati na ta način, saj bo PHP prebral datoteko in jo takoj dal uporabniku po delih. Dokumentacija jasno navaja, da readfile() ne bi smel ustvarjajo težave s spominom.

Posebnosti:

  • Datoteka se prebere v notranji medpomnilnik funkcije readfile(), katere velikost je 8kB (hvala 2fast4rabbit)

2. Ročno preberite in pošljite datoteko

Metoda uporablja isti Drupal pri pošiljanju datotek iz zasebnega datotečni sistem(datoteke niso dostopne neposredno prek povezav):

Funkcija file_force_download($file) ( if (file_exists($file)) ( // ponastavi izhodni medpomnilnik PHP, da se prepreči prekoračitev pomnilnika, dodeljenega skriptu // če tega ne storite, bo datoteka v celoti prebrana v pomnilnik! če (ob_get_level()) ( ob_end_clean(); ) // prisili brskalnik, da prikaže okno za shranjevanje glave datoteke ("Content-Description: File Transfer"); header("Content-Type: application/octet-stream") ; ​​header("Content-Disposition: attachment; filename =" . basename($file)); header("Content-Transfer-Encoding: binary"); header("Expires: 0"); header("Cache- Control: must-revalidate"); header("Pragma: public"); header("Content-Length: " . filesize($file)); // preberi datoteko in jo pošlji uporabniku, če ($fd = fopen ($file, "rb")) ( while (!feof($ fd)) ( print fread($fd, 1024); ) fclose($fd); ) exit; ) )
Posebnosti:

  • Skript počaka, dokler ni prebrana celotna datoteka in dana uporabniku.
  • Omogoča prihranek pomnilnika strežnika

3. Uporabite modul spletnega strežnika

3a. Apache
Modul XSendFile omogoča pošiljanje datoteke samemu Apache s pomočjo posebne glave. Obstajajo različice za Unix in Windows, pod različicami 2.0.*, 2.2.* in 2.4.*

V nastavitvah gostitelja morate omogočiti prestrezanje glave z uporabo direktive:
XSendFile Vklopljeno
Določite lahko tudi beli seznam imenikov, v katerih se lahko obdelujejo datoteke. Pomembno: če imate na strežniku Windows pot mora vsebovati veliko začetnico.

Opis možnih možnosti na spletni strani razvijalca: https://tn123.org/mod_xsendfile/

Primer pošiljanja datoteke:

Funkcija file_force_download($file) ( if (file_exists($file)) ( header("X-SendFile: " . realpath($file)); header("Content-Type: application/octet-stream"); ​​​​header (" Content-Disposition: attachment; filename=" . basename($file)); exit; ) )

3b. Nginx
Nginx lahko pošilja datoteke takoj po namestitvi prek posebne glave.

Za pravilno delovanje morate zavrniti dostop do mape neposredno prek konfiguracijske datoteke:
lokacija /zaščitena/ ( notranja; koren /nekatera/pot; )
Primer pošiljanja datoteke (datoteka mora biti v imeniku /some/path/protected):

Funkcija file_force_download($file) ( if (file_exists($file)) ( header("X-Accel-Redirect: " . $file); header("Content-Type: application/octet-stream"); ​​​​header( "Vsebina - Disposition: priloga; ime datoteke=" . osnovno ime($datoteka)); izhod; ) )
Več informacij na strani uradne dokumentacije

Posebnosti:

  • Skript se konča takoj, ko so dokončana vsa navodila
  • Fizično datoteko pošlje sam modul spletnega strežnika in ne PHP
  • Minimalna poraba pomnilnika in strežniških virov
  • Največja zmogljivost

Nadgradnja: Habrowser ilyaplot dobro svetuje, da je bolje poslati ne application/octet-stream , ampak pravo mime vrsto datoteke. Na primer, to bo brskalniku omogočilo zamenjavo potrebne programe v pogovorno okno za shranjevanje datoteke.




Vrh