Kuinka luoda Phpinfo-tiedosto ja tarkistaa PHP-tiedot. Toimita tiedostoja tehokkaasti PHP Attentive info php:n avulla

(PHP 3, PHP 4, PHP 5)

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

Kuvaus

int phpinfo()

Näyttää suuren määrän tietoa nykyisestä PHP:n tilasta. Tämä sisältää tietoja PHP:n käännösvaihtoehdoista ja laajennuksista, PHP-versiosta, palvelimen ja ympäristön tiedoista (jos se on käännetty moduulina), PHP-ympäristöstä, käyttöjärjestelmäversiosta, poluista, pää- ja paikallismääritysvaihtoehtomuuttujista, HTTP- ja PHP-lisenssiotsikoista. 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ä. Phpinfo() on myös tärkeä virheenkorjausapuohjelma, koska se sisältää kaikki EGPCS-tiedot (ympäristö, GET, POST, eväste, palvelin). Tuotos voidaan erikoistua suorittamalla yksi tai useampi seuraavista vakio bittiarvot summataan valinnaiseen mikä-parametriin. Voit myös yhdistää vastaavia vakio- tai bittiarvoja operaatiolla.

Taulukko 1. phpinfo()-asetukset
Nimi (vakio) Arvo Kuvaus INFO_GENERAL1 Asetusmerkkijono, php.ini-sijainti, rakennuspäivämäärä, Web-palvelin, järjestelmä jne.INFO_CREDITS2PHP Tekijät 4.Katso. myös phpcredits() .INFO_CONFIGURATION4Php-direktiivien nykyiset paikallis- ja pääarvot.Katso. myös ini_get() .INFO_MODULES8 Ladatut moduulit ja niitä vastaavat asetukset.INFO_ENVIRONMENT16Ympäristömuuttujien tiedot, saatavana myös $_ENV:ssä .INFO_VARIABLES32Näyttää kaikki EGPCS:n ennalta määritetyt muuttujat (Ympäristö, GET, POST, Cookie, LicensSE information).INFO_ENVIRONMENT16PHLIC myös lisenssi faq .INFO_ALL-1Kaikki edellä mainitut Tämä on oletusarvo.

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

Minkä tahansa ohjelmisto, jonka haluat käyttää verkkopalvelimellasi, 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 tiedot kaikista niistä löytyy phpinfo-tiedostosta. Tässä opetusohjelmassa opit luomaan phpinfo-tiedoston ja selvität PHP-moduulien arvot ja tilan. Tämä voi olla hyödyllistä myös saadaksesi tietoja hosting-tilistäsi, kuten max_execution_time, memory_limit, post_max_size ja muut.

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 Lisäasetukset → 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 - PHP-tietojen tarkistaminen 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 - Luo phpinfo-tiedosto

On olemassa useita tapoja luoda phpinfo-tiedosto. Tässä opetusohjelmassa 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.

Ilmoita ensimmäisessä kentässä polku, johon se luodaan uusi tiedosto. 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-tiedosto joka näyttää kaikki PHP-vaihtoehdot. Kuten aiemmin mainittiin, sama tulos voidaan saavuttaa käyttämällä:

  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 selaimella

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 selaimella:

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

Johtopäätös

Viimeistelemällä tämän opetusohjelman olet oppinut luomaan phpinfo-tiedoston ja tarkistamaan tietosi. 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 tarvinnut lähettää tiedostoja suoraan verkkopalvelimelta, vaan osoitteesta PHP:n avulla(esimerkiksi lataustilastojen keräämiseksi), ole hyvä ja katso alla.

1. Käytä readfile()

Tämän menetelmän hyvä puoli on, että se toimii heti. Sinun tarvitsee vain kirjoittaa oma tiedostojen lähetystoiminto (hieman muokattu esimerkki virallisesta dokumentaatiosta):

Funktio file_force_download($file) ( if (file_exists($file)) ( // nollaa puskuri PHP-tulostus skriptille varatun muistin ylivuodon välttämiseksi // jos näin ei tehdä, tiedosto luetaan muistiin kokonaan! if (ob_get_level()) ( ob_end_clean(); ) // pakottaa selaimen näyttämään tiedoston otsikon tallennusikkunan("Content-Description: Tiedostonsiirto"); header("Sisältötyyppi: Application/octet-stream"); ​​​​header("Sisältö: liite; tiedostonnimi=" . basename($file)); header("Sisällönsiirtokoodaus: binaari ") ; 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, jonka koko on 8kB (kiitos 2fast4rabbit)

2. Lue ja lähetä tiedosto manuaalisesti

Menetelmä käyttää samaa Drupalia lähetettäessä tiedostoja yksityiseltä tiedostojärjestelmä(tiedostot eivät ole saatavilla suoraan linkkien kautta):

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(); ) // pakottaa selaimen näyttämään tiedoston otsikon tallennusikkunan ("Content-Description: File Transfer"); header("Sisältötyyppi: sovellus/oktettivirta") ;'header("Sisältö: liite; tiedostonimi =" . basename($file)); header("Sisällönsiirtokoodaus: binaari"); header("Vanhenee: 0"); header("Välimuisti Ohjaus: must-revalidate"); header("Pragma: julkinen"); header("Content-Length: " . filesize($file)); // lue tiedosto ja lähetä se käyttäjälle if ($fd = fopen ($tiedosto, "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.
  • Voit 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 tiedostoja voidaan käsitellä. Tärkeää: jos sinulla on palvelinpohjainen Windowsin polku tulee sisältää iso asemakirjain.

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

Esimerkki tiedoston lähettämisestä:

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:

  • Skripti päättyy heti, kun kaikki ohjeet on suoritettu
  • Fyysisesti tiedoston lähettää itse web-palvelinmoduuli, ei PHP
  • Minimaalinen muistin ja palvelinresurssien kulutus
  • Maksimaalinen suorituskyky

Päivittää: Habrowser 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 tarvittavat ohjelmat tiedoston tallennusvalintaikkunaan.




Yläosa