Kā izveidot Phpinfo failu un pārbaudīt PHP informāciju. Failu efektīva apkalpošana ar PHP Uzmanīga informācija php

(PHP 3, PHP 4, PHP 5)

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

Apraksts

int phpinfo()

Parāda daudz informācijas par pašreizējo PHP statusu. Tas ietver informāciju par PHP kompilācijas opcijām un paplašinājumiem, PHP versijām, informāciju par serveri un vidi (ja tā ir apkopota kā modulis), PHP vidi, OS versiju, ceļiem, galveno un vietējo konfigurācijas opciju mainīgajiem, HTTP galvenēm un PHP licenci. 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ā. Turklāt phpinfo() ir svarīgs atkļūdošanas rīks, 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 apkopotas izvēles parametrā what . Varat arī apvienot atbilstošās konstantes vai bitu vērtības ar .

1. tabula. phpinfo() opcijas
Nosaukums (konstante) Vērtība Apraksts INFO_GENERAL1 Konfigurācijas virkne, php.ini atrašanās vieta, izveides datums/būvējums, tīmekļa serveris, sistēma utt. INFO_CREDITS2 PHP 4 kredītpunkti. Skatiet arī phpcredits() .INFO_CONFIGURATION4 Pašreizējās php direktīvu vietējās un galvenās vērtības. Skatīt arī ini_get() .INFO_MODULES8Ielādētie moduļi un to attiecīgie 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 info).INFO_44PHLIC LicensSE info. arī licences faq .INFO_ALL-1 Viss 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 config iestatījums ir izslēgts. Tas ietver PHP un Zend logotipus un kredītus. Arī

Jebkurš programmatūra kuru vēlaties darbināt savā tīmekļa serverī, ir noteiktas prasības, kurām tam ir 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 iegūt 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. Tā var būt noderīga arī, lai iegūtu informāciju par savu mitināšanas kontu, piemēram, max_execution_time, memory_limit, post_max_size un citus.

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 mitināšanas vadības paneli

Vietnē Hostinger jūsu konta PHP informācija ir atrodama sadaļā Vairāk → 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 — pārbaudiet PHP informāciju, izveidojot failu phpinfo.php

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 — phpinfo faila izveide

Ir vairāki veidi, kā izveidot phpinfo failu. Šajā rokasgrāmatā 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ā brīdī 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 ar:

  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 sava domēna vārda beigām /lpphpinfo.php. Piemēram, http://yourdomain.ru/phpinfo.php

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

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

Secinājums

Šīs apmācības beigās esat iemācījies izveidot phpinfo failu un pārbaudīt informāciju par savu 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 nepieciešams sūtīt failus nevis tieši no tīmekļa servera, bet gan no izmantojot PHP(piemēram, lai savāktu lejupielādes statistiku), es jautāju zem kat.

1. Izmantojiet readfile()

Metode ir laba, jo 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(); ) // likt pārlūkprogrammai parādīt saglabāšanas faila loga galveni ("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ātiem failu sistēma(faili nav tieši saistīti):

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(); ) // likt pārlūkprogrammai parādīt saglabāšanas faila loga galveni ("Satura apraksts: failu pārsūtīšana"); galvene ("Satura veids: lietojumprogramma/okteta straume"); header("Satura izvietojums: pielikums; faila nosaukums =" .basename($file)); header("Content-Transfer-Encoding: binary"); header("Expires: 0"); header("Cache-Control: must -revalidate"); header("Pragma: public"); header("Satura garums: " . filesize($file)); // izlasiet failu un nosūtiet 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.
  • Ietaupa 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.*

Saimniekdatora 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 logu virzienā jāiekļauj lielais diska burts.

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

Faila augšupielādes 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 iziet uzreiz pēc visu instrukciju 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: Habrauser ilyaplot sniedz labu padomu, ka labāk ir sūtīt nevis aplikāciju/octet-stream , bet gan īsto faila mime tipu. Piemēram, tas ļaus pārlūkprogrammai aizstāt vēlamās programmas faila saglabāšanas dialoglodziņā.




Tops