Kuinka luoda Phpinfo-tiedosto ja tarkistaa PHP-tiedot. Tiedostojen tehokas palveleminen PHP:llä Tarkka info php

(PHP 3, PHP 4, PHP 5)

phpinfo - näyttää paljon tietoa PHP:stä.

Kuvaus

int phpinfo()

Näyttää paljon tietoa nykyisestä PHP:n tilasta. Tämä sisältää tietoja PHP:n käännösvaihtoehdoista ja laajennuksista, PHP-versioista, palvelin- ja ympäristötiedoista (jos se on käännetty moduulina), PHP-ympäristöstä, käyttöjärjestelmän versiosta, poluista, pää- ja paikallisasetusten muuttujista, HTTP-otsikoista ja PHP-lisenssistä. Koska jokainen järjestelmä on konfiguroitu eri tavalla, phpinfo()-komentoa käytetään yleensä määritysasetusten ja ennalta määritettyjen muuttujien saatavuuden tarkistamiseen tietyssä järjestelmässä. Lisäksi phpinfo() on tärkeä virheenkorjaustyökalu, koska se sisältää kaikki EGPCS-tiedot (ympäristö, GET, POST, eväste, palvelin). Tuotos voidaan erikoistua suorittamalla yksi tai useampi seuraavista vakio valinnaiseen parametriin kootut bittiarvot what . Voit myös yhdistää vastaavat vakio- tai bittiarvot .

Taulukko 1. phpinfo()-asetukset
Nimi (vakio) Arvo Kuvaus INFO_GENERAL1 Asetusmerkkijono, php.ini-sijainti, rakennuspäivämäärä/versio, Web-palvelin, järjestelmä jne. INFO_CREDITS2 PHP 4 op. Katso myös phpcredits() .INFO_CONFIGURATION4 php-direktiivien nykyiset Local- ja Master-arvot. Katso myös ini_get() .INFO_MODULES8Ladatut moduulit ja niitä vastaavat asetukset.INFO_ENVIRONMENT16Ympäristömuuttujien tiedot saatavilla myös $_ENV:ssä .INFO_VARIABLES32Näyttää kaikki ennalta määritetyt muuttujat EGPCS:stä (Environment, GET, POST, Cookie, LicensSE).INFO_PHLIC info, LicensSE.INFO_44. myös lisenssi faq .INFO_ALL-1 Kaikki edellä mainitut Tämä on oletusarvo.

Huomautus: Osa näytetyistä tiedoista on poistettu käytöstä, kun expose_php config -asetus on pois päältä. Tämä sisältää PHP- ja Zend-logot ja -pisteet. Myös

Minkä tahansa ohjelmisto jota haluat käyttää verkkopalvelimellasi, sillä on tiettyjä vaatimuksia, jotka sen on täytettävä. Esimerkiksi WordPress vaatii PHP-version 5.2.4 tai uudemman. Palvelimesta riippuen voit muuttaa joitain PHP-asetuksia, päinvastoin, muut ovat kiellettyjä, mutta niistä kaikista saat tietoa phpinfo-tiedostosta. Tässä opetusohjelmassa opit luomaan phpinfo-tiedoston ja selvität PHP-moduulien arvot ja tilan. Se voi myös olla hyödyllistä saadaksesi tietoja isännöintitilistäsi, kuten max_execution_time, memory_limit, post_max_size ja paljon muuta.

Ennen kuin aloitat tämän oppaan, tarvitset seuraavat asiat:

  • Pääsy hosting-ohjauspaneeliisi tai FTP-tiliisi

Vaihtoehto 1 – PHP-tietojen tarkistaminen hosting-ohjauspaneelin kautta

Hostingerissa tilisi PHP-tiedot löytyvät kohdasta Lisää → PHP-tiedot. Tämä on erittäin kätevä ominaisuus, koska sinun ei tarvitse luoda lisätiedostoja isännöintiin.

Tämän jälkeen sinut ohjataan sivulle, jossa on kaikki tarvittavat tiedot PHP-versiostasi, moduuleistasi ja arvoistasi. Jos haluat etsiä tiettyä moduulia tai toimintoa, käytä hakua painamalla pikanäppäintä CTRL+F.

Onnittelut! Olet oppinut pääsemään php-tietoihisi Hostingerin ohjauspaneelin kautta.

Vaihtoehto 2 - Tarkista PHP-tiedot luomalla phpinfo.php-tiedosto

Älä huoli, jos isännöintialustasi ei tue kuvassa näkyvää ominaisuutta Vaihtoehto 1. Sama tulos voidaan saavuttaa luomalla erityinen tiedosto hosting-tilillesi. Tiedosto näyttää myös kaikki tiedot PHP:stäsi ja on käytettävissä selaimen kautta.

Vaihe 2.1 - phpinfo-tiedoston luominen

On olemassa useita tapoja luoda phpinfo-tiedosto. Tässä oppaassa käytämme . Sama tulos voidaan kuitenkin saavuttaa luomalla tiedosto omalle tietokoneellesi paikallinen tietokone ja tiedoston lataaminen edelleen palvelimelle kautta .

Kirjaudu isännöinnin ohjauspaneeliin ja avaa Tiedostonhallinta . Napsauta painiketta Uusi tiedosto luodaksesi uuden tiedoston.

Määritä ensimmäisessä kentässä polku, johon uusi tiedosto luodaan. Seuraavaksi kentällä Uusi tiedostonimi tulla sisään phpinfo.php. Useimmissa tapauksissa voit jättää polun ennalleen. /public_html. Tässä tapauksessa tiedosto luodaan sivustosi juurihakemistoon.

Vaihe 2.2 - Tiedoston muokkaaminen

Tässä vaiheessa sinulla on jo tyhjä tiedosto phpinfo.php luettelossa public_html. Kopioi seuraava koodi tiedostoon ja napsauta kuvaketta Tallentaa näytön vasemmassa kulmassa.

Siinä kaikki, olet onnistuneesti luonut PHP-tiedoston, joka näyttää kaikki PHP-vaihtoehdot. Kuten aiemmin mainittiin, sama tulos voidaan saavuttaa:

  1. Käytä mitä tahansa tekstieditori ja luo tiedosto phpinfo.php tietokoneellasi.
  2. Lisää tiedostoon seuraava koodi:
  1. Lataa tiedosto hakemistoosi FTP:llä public_html.

Vaihe 2.3 - PHP-tietojen tarkistaminen selaimen kautta

Jos kaikki on tehty oikein, voit nyt käyttää luotua tiedostoa lisäämällä verkkotunnuksesi loppuun /shpinfo.php. Esim, http://yourdomain.ru/phpinfo.php

Sinun pitäisi nähdä samanlainen tulos, kun avaat tämän sivun selaimessa:

Tällä sivulla näet kaikki PHP-asetukset.

Johtopäätös

Tämän opetusohjelman loppuun mennessä olet oppinut luomaan phpinfo-tiedoston ja tarkistamaan tietojasi PHP-asetukset. Tämä informaatio on hyödyllinen, jos haluat tietää hosting-asetuksesi tai käyttää ohjelmistoja, jotka vaativat tiettyjä PHP-moduuleja.

Jos sinun ei tarvitse lähettää tiedostoja suoraan web-palvelimen kautta, vaan PHP:llä (esimerkiksi lataustilastojen keräämiseen), ole hyvä ja katso kat.

1. Käytä readfile()

Menetelmä on hyvä, koska se toimii suoraan. Sinun tarvitsee vain kirjoittaa oma tiedostojen lähetystoiminto (hieman muokattu esimerkki virallisesta dokumentaatiosta):

Funktio file_force_download($file) ( if (file_exists($file)) ( // nollaa PHP-tulostuspuskuri välttääksesi skriptille varatun muistin ylivuoto // jos näin ei tehdä, tiedosto luetaan muistiin kokonaan! jos (ob_get_level()) ( ob_end_clean(); ) // saa selaimen näyttämään tallennustiedoston ikkunan otsikon("Content-Description: Tiedostonsiirto"); header("Sisältötyyppi: Application/octet-stream"); ​​​​header("Sisältö: liite; tiedostonnimi=" . basename($file)); header("Sisällönsiirtokoodaus: binääri ") ; header("Vanhenee: 0"); header("Cache-Control: täytyy vahvistaa"); header("Pragma: julkinen"); header("Sisällön pituus: " . tiedostokoko($tiedosto)); // lue tiedosto ja lähetä se käyttäjälle readfile($file); exit; ) )
Suuretkin tiedostot voidaan lähettää tällä tavalla, koska PHP lukee tiedoston ja antaa sen välittömästi käyttäjälle osissa. Dokumentaatiossa sanotaan selvästi, että readfile() ei pitäisi aiheuttaa muistiongelmia.

Ominaisuudet:

  • Tiedosto luetaan readfile()-funktion sisäiseen puskuriin, joka on kooltaan 8 kt (2fast4rabbitin ansiosta)

2. Lue ja lähetä tiedosto manuaalisesti

Menetelmä käyttää samaa Drupalia lähetettäessä tiedostoja yksityisestä tiedostojärjestelmä(tiedostot, joita ei ole suoraan linkitetty):

Funktio file_force_download($file) ( if (file_exists($file)) ( // nollaa PHP-tulostuspuskuri välttääksesi skriptille varatun muistin ylivuoto // jos näin ei tehdä, tiedosto luetaan muistiin kokonaan! jos (ob_get_level()) ( ob_end_clean(); ) // saa selaimen näyttämään tallennustiedoston ikkunan header("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: täytyy -revalidate"); header("Pragma: julkinen"); header("Sisällön pituus: " . filesize($file)); // lue tiedosto ja lähetä se käyttäjälle if ($fd = fopen($file , "rb")) ( while (!feof($ fd)) ( tulosta fread($fd, 1024); ) fclose($fd); ) exit; ) )
Ominaisuudet:

  • Skripti odottaa, kunnes koko tiedosto on luettu ja annettu käyttäjälle.
  • Säästää palvelimen muistia

3. Käytä verkkopalvelinmoduulia

3a. Apache
XSendFile-moduulin avulla voit lähettää tiedoston itse Apachelle käyttämällä erityistä otsikkoa. Unixille ja Windowsille on versiot 2.0.*, 2.2.* ja 2.4.*

Isäntäasetuksissa sinun on otettava käyttöön otsikon sieppaus komennolla:
XSendFile päällä
Voit myös määrittää valkoisen luettelon hakemistoista, joissa tiedostot voidaan käsitellä. Tärkeää: jos sinulla on palvelinpohjainen ikkunoiden suuntaan tulee sisältää iso asemakirjain.

Kuvaus mahdollisista vaihtoehdoista kehittäjän verkkosivustolla: https://tn123.org/mod_xsendfile/

Esimerkki tiedoston lataamisesta:

Funktio file_force_download($file) ( if (file_exists($file)) ( header("X-SendFile: " . realpath($file)); header("Sisältötyyppi: sovellus/oktetti-virta"); ​​header (" Content-Disposition: attachment; filename=" . basename($file)); exit; ) )

3b. Nginx
Nginx voi lähettää tiedostoja laatikosta erityisen otsikon kautta.

Oikean toiminnan varmistamiseksi sinun on estettävä pääsy kansioon suoraan asetustiedoston kautta:
sijainti /suojattu/ (sisäinen; juuri /jokin/polku; )
Esimerkki tiedoston lähettämisestä (tiedoston on oltava /some/path/protected-hakemistossa):

Funktio file_force_download($file) ( if (file_exists($file)) ( header("X-Accel-Redirect: " . $file); header("Sisältötyyppi: sovellus/oktettivirta"); ​​header( "Content -Disposition: attachment; filename=" . basename($file)); exit; ) )
Lisätietoja viralliselta dokumentaatiosivulta

Ominaisuudet:

  • Komentosarja poistuu heti, kun kaikki käskyt on suoritettu
  • Fyysisesti tiedoston lähettää itse web-palvelimen moduuli, ei PHP
  • Muistin ja palvelinresurssien minimikulutus
  • Maksimaalinen suorituskyky

päivittää: Habrauser ilyaplot antaa hyvän neuvon, että on parempi lähettää ei application/octet-stream , vaan tiedoston todellinen mime-tyyppi. Tämä mahdollistaa esimerkiksi selaimen korvaamisen halutut ohjelmat Tallenna tiedosto -valintaikkunassa.




Yläosa