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
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:
- Használjon bármilyen szöveg szerkesztőés hozzon létre egy fájlt phpinfo.php a számítógépeden.
- Adja hozzá a következő kódot a fájlhoz:
- 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 alattA 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("Content-Type: 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.