Phpinfo fájl létrehozása és PHP információk ellenőrzése. Fájlok hatékony kézbesítése a PHP Attentive info php használatával

(PHP 3, PHP 4, PHP 5)

phpinfo - sok információt jelenít meg a PHP-ről.

Leírás

int phpinfo()

Nagy mennyiségű információt jelenít meg a PHP aktuális állapotáról. Ez magában foglalja a PHP fordítási opcióiról és kiterjesztéseiről, a PHP verziójáról, a szerverről és a környezetről (ha modulként van fordítva), a PHP környezetről, az operációs rendszer verziójáról, az elérési utakról, a fő és a helyi konfigurációs opciók változóiról, a HTTP és a PHP licenc fejléceiről. Mivel minden rendszer eltérően van konfigurálva, a phpinfo() általában a konfigurációs beállítások és az előre definiált változók elérhetőségének ellenőrzésére szolgál egy adott rendszeren.A Phpinfo() szintén fontos hibakereső segédprogram, mivel tartalmazza az összes EGPCS adatot (környezet, GET, POST, Cookie, Server ). A kimenet az alábbiak közül egy vagy több teljesítésével specializálható állandó az opcionális what paraméterben összegzett bitértékek. A művelet segítségével a megfelelő konstans vagy bit értékeket is kombinálhatja.

1. táblázat: phpinfo() beállítások
Név (konstans) Érték Leírás INFO_GENERAL1 Konfigurációs karakterlánc, php.ini hely, felépítési dátum, webszerver, rendszer stb.INFO_CREDITS2PHP kreditek 4.Lásd. továbbá phpcredits() .INFO_CONFIGURATION4A php direktívák aktuális helyi és fő értékei.Lásd. is ini_get() .INFO_MODULES8 Betöltött modulok és a hozzájuk tartozó beállítások.INFO_ENVIRONMENT16Környezeti változó információ, elérhető a $_ENV-ben is .INFO_VARIABLES32Az összes előre definiált változót megjeleníti az EGPCS-ből (Környezet, GET, POST, Cookie, LicensSE information).INFO_ENVIRONMENT16.PHLIC információ. Licensz faq is .INFO_ALL-1A fentiek mindegyike Ez az alapértelmezett érték.

Megjegyzés: a megjelenített információk egy része le van tiltva, ha az expose_php konfigurációs beállítása ki van kapcsolva. Ez magában foglalja a PHP és a Zend logókat és krediteket. Is

Bármi szoftver, amelyet a webszerverén szeretne futtatni, bizonyos követelményeknek meg kell felelnie. A WordPress például a PHP 5.2.4-es vagy újabb verzióját igényli. Szervertől függően néhány PHP-beállítást módosíthatunk, másokat éppen ellenkezőleg, tilos megváltoztatni, azonban mindegyikről információ található a phpinfo fájlban. Ebben az oktatóanyagban megtudhatja, hogyan hozhat létre phpinfo fájlt, és megtudhatja a PHP modulok értékeit és állapotát. Ez hasznos lehet a tárhelyfiókjával kapcsolatos információk megszerzéséhez is, például max_execution_time, memory_limit, post_max_size és mások.

Mielőtt elkezdené ezt az útmutatót, a következőkre lesz szüksége:

  • Hozzáférés a hosting vezérlőpultjához vagy FTP-fiókjához

1. lehetőség – A PHP-információk ellenőrzése a hosting vezérlőpulton keresztül

A Hostingernél fiókja PHP-információi megtalálhatók a Haladó → PHP információk. Ez egy nagyon kényelmes funkció, mivel nem kell további fájlokat létrehoznia a tárhelyén.

Ezt követően egy oldalra kerül, ahol minden szükséges információ megtalálható a PHP verziójáról, moduljairól és értékeiről. Egy adott modul vagy funkció kereséséhez használja a keresést a billentyűparancs megnyomásával CTRL+F.

Gratulálunk! Megtanulta, hogyan érheti el php-adatait a Hostinger vezérlőpultján keresztül.

2. lehetőség – PHP információk ellenőrzése phpinfo.php fájl létrehozásával

Ne aggódjon, ha a tárhely platformja nem támogatja az itt látható funkciót 1.opció. Ugyanezt az eredményt érheti el egy speciális fájl létrehozásával a tárhelyfiókjában. A fájl a PHP-vel kapcsolatos összes információt is megjeleníti, és elérhető lesz a böngészőn keresztül.

2.1. lépés – Hozzon létre egy phpinfo fájlt

Számos módja van a phpinfo fájl létrehozásának. Ebben az oktatóanyagban fogjuk használni. Ugyanezt az eredményt azonban elérheti, ha fájlt hoz létre a számítógépén helyi számítógépés a fájl további feltöltése a szerverre a .

Jelentkezzen be a tárhely vezérlőpultjába, és nyissa meg Fájl kezelő . Kattintson a gombra Új fájlúj fájl létrehozásához.

Az első mezőben adja meg a létrehozási útvonalat új fájl. Ezután a terepen Új fájlnév belép phpinfo.php. A legtöbb esetben változatlanul hagyhatja az útvonalat /public_html. Ebben az esetben a fájl a webhely gyökérkönyvtárában jön létre.

2.2 lépés – A fájl szerkesztése

Ebben a szakaszban már van egy üres fájl phpinfo.php a katalógusban public_html. Másolja a következő kódot egy fájlba, és kattintson az ikonra Megment a képernyő bal sarkában.

Ez az, sikeresen létrehoztad PHP fájl amely megjeleníti az összes PHP-beállítást. Mint korábban említettük, ugyanazt az eredményt lehet elérni a következőkkel:

  1. Használjon bármilyen szöveg szerkesztőés hozzon létre egy fájlt phpinfo.php a számítógépeden.
  2. Adja hozzá a következő kódot a fájlhoz:
  1. Töltse fel a fájlt FTP-vel a könyvtárába public_html.

2.3. lépés – PHP információk ellenőrzése böngészőn keresztül

Ha mindent helyesen csinált, most hozzáférhet a létrehozott fájlhoz úgy, hogy hozzáadja a domain neve végéhez /phpinfo.php. Például, http://yourdomain.ru/phpinfo.php

Hasonló eredményt kell látnia, ha ezt az oldalt böngészőn keresztül nyitja meg:

Ezen az oldalon láthatja az összes PHP beállítást.

Következtetés

Az oktatóanyag befejezésével megtanulta, hogyan hozhat létre phpinfo fájlt és ellenőrizze adatait. PHP beállítások. Ez az információ hasznos, ha tudni szeretné a tárhely beállításait, vagy olyan szoftvert szeretne futtatni, amely bizonyos PHP modulokat igényel.

Ha nem közvetlenül a webszerverről kellett fájlokat küldenie, hanem innen PHP használatával(például letöltési statisztikák gyűjtéséhez), kérjük, a kat.

1. A readfile() használata

Az a jó ebben a módszerben, hogy a dobozból kivéve működik. Csak meg kell írnia a saját fájlküldési funkcióját (kissé módosított példa a hivatalos dokumentációból):

Függvény file_force_download($file) ( if (file_exists($file)) ( // a puffer alaphelyzetbe állítása PHP kimenet a szkript számára lefoglalt memória túlcsordulásának elkerülése érdekében // ha ez nem történik meg, a fájl teljesen beolvasódik a memóriába! if (ob_get_level()) ( ob_end_clean(); ) // kényszeríti a böngészőt a fájl fejlécének mentésére szolgáló ablak megjelenítésére ("Content-Description: Fájl átvitel"); header("Content-Type: application/octet-stream"); ​​​​header("Tartalom-elhelyezés: melléklet; fájlnév=" . basename($file)); header("Tartalom-átviteli kódolás: bináris ") ; header("Lejár: 0"); header("Cache-Control: újra kell érvényesíteni"); header("Pragma: nyilvános"); header("Tartalom hossza: " . fájlméret($file)); // beolvassa a fájlt és elküldi a felhasználónak readfile($file); kilépés; ) )
Még nagy fájlok is elküldhetők így, mivel a PHP beolvassa a fájlt és azonnal részenként adja át a felhasználónak. A dokumentáció egyértelműen kimondja, hogy a readfile() nem kellene memória problémákat okoz.

Sajátosságok:

  • A fájl beolvasásra kerül a readfile() függvény belső pufferébe, melynek mérete 8kB (a 2fast4rabbit-nek köszönhetően)

2. Olvassa el és küldje el a fájlt manuálisan

A módszer ugyanazt a Drupalt használja, amikor privátból küld fájlokat fájlrendszer(a fájlok nem érhetők el közvetlenül a linkeken keresztül):

Függvény file_force_download($file) ( if (file_exists($file)) ( // állítsa vissza a PHP kimeneti puffert, hogy elkerülje a szkript számára lefoglalt memória túlcsordulását // ha ez nem történik meg, a fájl teljesen beolvasódik a memóriába! ha (ob_get_level()) ( ob_end_clean(); ) // kényszeríti a böngészőt a fájl fejlécének mentésére szolgáló ablak megjelenítésére ("Tartalom-leírás: Fájlátvitel"); header("Tartalomtípus: Application/octet-stream") ;>header("Content-Disposition: attachment; filename =" . basename($file)); header("Content-Transfer-Encoding: binary"); header("Lejárat: 0"); header("Gyorsítótár- Control: must-revalidate"); header("Pragma: public"); header("Tartalom hossza: " . filesize($file)); // olvassa be a fájlt és küldje el a felhasználónak if ($fd = fopen ($file, "rb")) ( while (!feof($ fd)) ( print fread($fd, 1024); ) fclose($fd); ) exit; ) )
Sajátosságok:

  • A szkript megvárja, amíg a teljes fájlt beolvassák és a felhasználónak átadják.
  • Lehetővé teszi a szervermemória megtakarítását

3. Használja a webszerver modult

3a. Apache
Az XSendFile modul lehetővé teszi, hogy egy speciális fejléc segítségével fájlt küldjön magának az Apache-nak. Vannak Unix és Windows verziók, 2.0.*, 2.2.* és 2.4.* verziók alatt

A gazdagép beállításaiban engedélyeznie kell a fejléc elfogását a következő direktívával:
XSendFile bekapcsolva
Megadhat egy fehér listát is azoknak a könyvtáraknak, amelyekben a fájlok feldolgozhatók. Fontos: ha szerver alapú Windows elérési út tartalmaznia kell egy nagybetűs meghajtóbetűt.

A lehetséges opciók leírása a fejlesztő honlapján: https://tn123.org/mod_xsendfile/

Példa fájl küldésére:

Függvény file_force_download($file) ( if (file_exists($file)) ( header("X-SendFile: " . realpath($file)); header("Content-Type: application/octet-stream"); ​​​​fejléc (" Content-Disposition: attachment; filename=" . basename($file)); kilépés; ) )

3b. Nginx
Az Nginx egy speciális fejlécen keresztül tud fájlokat küldeni a dobozból.

A helyes működés érdekében meg kell tagadnia a mappához való hozzáférést közvetlenül a konfigurációs fájlon keresztül:
hely /védett/ (belső; gyökér /some/path; )
Példa egy fájl küldésére (a fájlnak a /some/path/protected könyvtárban kell lennie):

Függvény file_force_download($file) ( if (file_exists($file)) ( header("X-Accel-Redirect: " . $file); header("Tartalom típusa: application/octet-stream"); ​​​​header( "Content -Disposition: attachment; filename=" . basename($file)); kilépés; ) )
További információ a hivatalos dokumentációs oldalon

Sajátosságok:

  • A szkript azonnal véget ér az összes utasítás végrehajtása után
  • Fizikailag a fájlt maga a webszerver modul küldi el, nem a PHP
  • Minimális memória- és szervererőforrás-fogyasztás
  • Maximális teljesítmény

Frissítés: A Habrowser ilyaplot jó tanácsot ad, hogy jobb nem application/octet-stream , hanem a fájl valódi mime típusát küldeni. Ez például lehetővé teszi a böngésző számára, hogy helyettesítse szükséges programokat a fájlmentési párbeszédpanelbe.




Top