Kā izveidot Phpinfo failu un pārbaudīt PHP informāciju. Efektīvi piegādājiet failus, izmantojot PHP Attentive info php

(PHP 3, PHP 4, PHP 5)

phpinfo - parāda daudz informācijas par PHP.

Apraksts

int phpinfo()

Parāda lielu informācijas apjomu par pašreizējo PHP statusu. Tas ietver informāciju par PHP kompilācijas opcijām un paplašinājumiem, PHP versiju, informāciju par serveri un vidi (ja tā ir apkopota kā modulis), PHP vidi, OS versiju, ceļiem, galvenās un vietējās konfigurācijas opciju mainīgajiem, HTTP un PHP licences galvenēm. Tā kā katra sistēma ir konfigurēta atšķirīgi, phpinfo() parasti tiek izmantots, lai pārbaudītu konfigurācijas iestatījumus un iepriekš definētu mainīgo pieejamību noteiktā sistēmā. Phpinfo() ir arī svarīga atkļūdošanas utilīta, jo tajā ir visi EGPCS dati (vide, GET, POST, sīkfails, serveris). Izvadi var specializēt, izpildot vienu vai vairākus no tālāk norādītajiem nemainīgs bitu vērtības, kas summētas izvēles parametrā kāds. Izmantojot operāciju, varat arī apvienot atbilstošās konstantes vai bitu vērtības.

1. tabula. phpinfo() opcijas
Nosaukums (konstante) Vērtība Apraksts INFO_GENERAL1 Konfigurācijas virkne, php.ini atrašanās vieta, izveides datums, tīmekļa serveris, sistēma utt.INFO_CREDITS2PHP kredīti 4.Skat. arī phpcredits() .INFO_CONFIGURATION4Pašreizējās php direktīvu vietējās un galvenās vērtības.Skat. arī ini_get() .INFO_MODULES8 Ielādēti moduļi un tiem atbilstošie iestatījumi.INFO_ENVIRONMENT16Vides mainīgā informācija, pieejama arī $_ENV .INFO_VARIABLES32Rāda visus iepriekš definētos mainīgos no EGPCS (Environment, GET, POST, Cookie, LicensSE information).INFO_ENVIRONMENT16Skatīt PHPLIC LicensSE informāciju. arī licences faq .INFO_ALL-1Viss iepriekš minētais. Šī ir noklusējuma vērtība.

Piezīme: daļa parādītās informācijas tiek atspējota, ja expose_php konfigurācijas iestatījums ir izslēgts. Tas ietver PHP un Zend logotipus un kredītus. Skat. Arī

Jebkurš programmatūra, kuru vēlaties palaist savā tīmekļa serverī, ir noteiktas prasības, kurām tam jāatbilst. Piemēram, WordPress ir nepieciešama PHP versija 5.2.4 vai jaunāka. Atkarībā no servera dažus PHP iestatījumus var mainīt, citus, gluži pretēji, ir aizliegts mainīt, tomēr informāciju par visiem var atrast phpinfo failā. Šajā apmācībā jūs uzzināsit, kā izveidot phpinfo failu un uzzināt PHP moduļu vērtības un statusu. Tas var būt noderīgi arī, lai iegūtu informāciju par jūsu mitināšanas kontu, piemēram, max_execution_time, memory_limit, post_max_size un citiem.

Pirms sākat šo rokasgrāmatu, jums būs nepieciešams:

  • Piekļuve jūsu hostinga vadības panelim vai FTP kontam

1. iespēja — PHP informācijas pārbaude, izmantojot hostinga vadības paneli

Vietnē Hostinger jūsu konta PHP informāciju var atrast vietnē Papildu → PHP informācija. Šī ir ļoti ērta funkcija, jo jums nebūs jāveido papildu faili jūsu mitināšanā.

Pēc tam jūs tiksit novirzīts uz lapu ar visu nepieciešamo informāciju par jūsu PHP versiju, moduļiem un vērtībām. Lai meklētu noteiktu moduli vai funkciju, izmantojiet meklēšanu, nospiežot īsinājumtaustiņu CTRL+F.

Apsveicam! Jūs esat iemācījies piekļūt savai php informācijai, izmantojot Hostinger vadības paneli.

2. iespēja – PHP informācijas pārbaude, izveidojot phpinfo.php failu

Neuztraucieties, ja jūsu mitināšanas platforma neatbalsta attēlā parādīto funkciju 1. iespēja. To pašu rezultātu var sasniegt, izveidojot īpašu failu savā hostinga kontā. Fails arī parādīs visu informāciju par jūsu PHP un būs pieejams, izmantojot pārlūkprogrammu.

2.1. darbība — izveidojiet phpinfo failu

Ir vairāki veidi, kā izveidot phpinfo failu. Šajā apmācībā mēs izmantosim . Tomēr tādu pašu rezultātu var sasniegt, izveidojot failu savā lokālais dators un tālāk augšupielādējot failu serverī, izmantojot .

Piesakieties savā mitināšanas vadības panelī un atveriet Failu menedžeris . Noklikšķiniet uz pogas Jauns fails lai izveidotu jaunu failu.

Pirmajā laukā norādiet ceļu, kur tas tiks izveidots jauns fails. Tālāk, laukā Jauns faila nosaukums ievadiet phpinfo.php. Vairumā gadījumu jūs varat atstāt ceļu nemainīgu /public_html. Šajā gadījumā fails tiks izveidots jūsu vietnes saknes direktorijā.

2.2. darbība — faila rediģēšana

Šajā posmā jums jau ir tukšs fails phpinfo.php katalogā public_html. Kopējiet tālāk norādīto kodu failā un noklikšķiniet uz ikonas Saglabāt ekrāna kreisajā stūrī.

Tas ir viss, jūs esat veiksmīgi izveidojis PHP fails kurā tiks parādītas visas jūsu PHP opcijas. Kā minēts iepriekš, tādu pašu rezultātu var sasniegt, izmantojot:

  1. Izmantojiet jebkuru teksta redaktors un izveidojiet failu phpinfo.php savā datorā.
  2. Pievienojiet failam šādu kodu:
  1. Augšupielādējiet failu savā direktorijā, izmantojot FTP public_html.

2.3. darbība — PHP informācijas pārbaude, izmantojot pārlūkprogrammu

Ja viss tika izdarīts pareizi, tagad varat piekļūt izveidotajam failam, pievienojot domēna nosaukumam /lpphpinfo.php. Piemēram, http://yourdomain.ru/phpinfo.php

Jums vajadzētu redzēt līdzīgu rezultātu, atverot šo lapu, izmantojot pārlūkprogrammu:

Šajā lapā jūs varēsiet redzēt visus savus PHP iestatījumus.

Secinājums

Pabeidzot šo pamācību, jūs esat iemācījušies izveidot phpinfo failu un pārbaudīt savu informāciju. PHP iestatījumi. Šī informācija ir noderīga, ja vēlaties uzzināt savus hostinga iestatījumus vai palaist programmatūru, kurai nepieciešami noteikti PHP moduļi.

Ja faili bija jānosūta nevis tieši no tīmekļa servera, bet gan no izmantojot PHP(piemēram, lai apkopotu lejupielādes statistiku), lūdzu, zem kat.

1. Izmantojiet readfile()

Šīs metodes labā lieta ir tā, ka tā darbojas ārpus kastes. Jums vienkārši jāraksta sava failu sūtīšanas funkcija (nedaudz pārveidots piemērs no oficiālās dokumentācijas):

Funkcija file_force_download($file) ( if (file_exists($file)) ( // atiestatīt buferi PHP izvade lai izvairītos no skriptam atvēlētās atmiņas pārpildes // ja tas nav izdarīts, fails tiks pilnībā nolasīts atmiņā! if (ob_get_level()) ( ob_end_clean(); ) // liek pārlūkprogrammai parādīt logu faila galvenes saglabāšanai ("Satura apraksts: Failu pārsūtīšana"); header("Satura veids: lietojumprogramma/okteta straume"); ​​header("Satura izvietojums: pielikums; faila nosaukums=" . bāzes nosaukums($fails)); header("Satura pārsūtīšanas kodējums: binārs ") ; header("Beigsies: 0"); header("Cache-Control: atkārtoti jāapstiprina"); header("Pragma: publiska"); header("Satura garums: " . fileize($file)); // izlasiet failu un nosūtiet to lietotājam readfile($file); iziet; ) )
Šādā veidā var nosūtīt pat lielus failus, jo PHP nolasīs failu un nekavējoties nodos to lietotājam pa daļām. Dokumentācijā ir skaidri norādīts, ka readfile () nevajadzētu radīt atmiņas problēmas.

Īpatnības:

  • Fails tiek nolasīts funkcijas readfile() iekšējā buferī, kura izmērs ir 8kB (pateicoties 2fast4rabbit)

2. Izlasiet un nosūtiet failu manuāli

Metode izmanto to pašu Drupal, sūtot failus no privāta failu sistēma(faili nav pieejami tieši, izmantojot saites):

Funkcija file_force_download($file) ( if (file_exists($file)) ( // atiestatiet PHP izvades buferi, lai izvairītos no skriptam atvēlētās atmiņas pārpildes // ja tas nav izdarīts, fails tiks pilnībā nolasīts atmiņā! ja (ob_get_level()) ( ob_end_clean(); ) // piespiež pārlūkprogrammu parādīt logu faila galvenes saglabāšanai ("Satura apraksts: failu pārsūtīšana"); galvene ("Satura veids: lietojumprogramma/okteta straume") ; header("Satura izvietojums: pielikums; faila nosaukums = . bāze Vadība: must-revalidate"); header("Pragma: public"); header ("Satura garums: " . filesize($file)); // lasīt failu un nosūtīt to lietotājam if ($fd = fopen ($file, "rb")) ( while (!feof($ fd)) ( drukāt fread($fd, 1024); ) fclose($fd); ) iziet; ) )
Īpatnības:

  • Skripts gaida, līdz viss fails ir nolasīts un nodots lietotājam.
  • Ļauj ietaupīt servera atmiņu

3. Izmantojiet tīmekļa servera moduli

3a. Apache
XSendFile modulis ļauj nosūtīt failu pašam Apache, izmantojot īpašu galveni. Ir versijas Unix un Windows versijām 2.0.*, 2.2.* un 2.4.*

Resursdatora iestatījumos ir jāiespējo galvenes pārtveršana, izmantojot direktīvu:
XSendFile ieslēgts
Varat arī norādīt balto sarakstu ar direktorijiem, kuros var apstrādāt failus. Svarīgi: ja jums ir serveris Windows ceļš jāiekļauj lielais diska burts.

Iespējamo opciju apraksts izstrādātāja vietnē: https://tn123.org/mod_xsendfile/

Faila nosūtīšanas piemērs:

Funkcija file_force_download($file) ( if (file_exists($file)) ( header("X-SendFile: " . realpath($file)); header("Satura veids: lietojumprogramma/okteta straume"); ​​galvene (" Content-Disposition: attachment; filename=" . basename($file)); iziet; ) )

3b. Nginx
Nginx var nosūtīt failus no kastes, izmantojot īpašu galveni.

Lai darbotos pareizi, jums ir jāliedz piekļuve mapei tieši caur konfigurācijas failu:
atrašanās vieta /aizsargāta/ (iekšējā; sakne /daži/ceļš; )
Faila nosūtīšanas piemērs (failam jāatrodas /some/path/protected direktorijā):

Funkcija file_force_download($file) ( if (file_exists($file)) ( header("X-Accel-Redirect: " . $file); header("Satura veids: lietojumprogramma/okteta straume"); ​​header( "Satura izvietojums: pielikums; faila nosaukums=" . bāzes nosaukums($fails)); iziet; ) )
Vairāk informācijas oficiālajā dokumentācijas lapā

Īpatnības:

  • Skripts beidzas uzreiz pēc visu norādījumu izpildes
  • Fiziski failu nosūta pats tīmekļa servera modulis, nevis PHP
  • Minimāls atmiņas un servera resursu patēriņš
  • Maksimālā veiktspēja

Atjaunināt: Habrowser ilyaplot sniedz labu padomu, ka labāk sūtīt nevis aplikāciju/octet-stream , bet gan īsto faila mime tipu. Piemēram, tas ļaus pārlūkprogrammai aizstāt nepieciešamās programmas faila saglabāšanas dialoglodziņā.




Tops