Phpinfo Dosyası Nasıl Oluşturulur ve PHP Bilgileri Nasıl Kontrol Edilir? PHP Özenli bilgi php'yi kullanarak dosyaları verimli bir şekilde teslim edin

(PHP3, PHP4, PHP5)

phpinfo - PHP hakkında birçok bilgi görüntüler.

Tanım

int phpinfo()

Geçerli PHP durumu hakkında büyük miktarda bilgi görüntüler. Bu, PHP derleme seçenekleri ve uzantıları, PHP sürümü, sunucu ve ortam bilgileri (bir modül olarak derlenmişse), PHP ortamı, işletim sistemi sürümü, yollar, ana ve yerel yapılandırma seçeneği değişkenleri, HTTP ve PHP Lisans başlıkları hakkındaki bilgileri içerir. Her sistem farklı şekilde yapılandırıldığından, phpinfo() genellikle yapılandırma ayarlarını ve belirli bir sistemdeki önceden tanımlanmış değişkenlerin kullanılabilirliğini kontrol etmek için kullanılır.Phpinfo() aynı zamanda tüm EGPCS verilerini (Ortam, GET, POST, Çerez, Sunucu). Çıktı, aşağıdakilerden bir veya daha fazlasının geçirilmesiyle özelleştirilebilir devamlı isteğe bağlı hangi parametrede toplanan bit değerleri. Ayrıca işlemi kullanarak karşılık gelen sabit veya bit değerlerini de birleştirebilirsiniz.

Tablo 1. phpinfo() seçenekleri
Ad (sabit) Değer Açıklama INFO_GENERAL1 Yapılandırma dizesi, php.ini konumu, yapım tarihi, Web sunucusu, sistem vb.INFO_CREDITS2PHP Kredileri 4.Bkz. ayrıca phpcredits() .INFO_CONFIGURATION4php direktiflerinin güncel Yerel ve Ana değerleri.Bkz. ayrıca ini_get() .INFO_MODULES8 Yüklü modüller ve bunlara karşılık gelen ayarlar.INFO_ENVIRONMENT16Ortam Değişkeni bilgileri, $_ENV'de de mevcuttur.INFO_VARIABLES32EGPCS'deki tüm önceden tanımlanmış değişkenleri gösterir (Ortam, GET, POST, Çerez, Sunucu).INFO_LICENSE64PHP Lisans bilgileri.Bkz. ayrıca lisans faq .INFO_ALL-1Yukarıdakilerin tümü. Bu, varsayılan değerdir.

Not: Expose_php yapılandırma ayarı off olarak ayarlandığında görüntülenen bilgilerin bazı kısımları devre dışı bırakılır. Buna PHP ve Zend logoları ve kredileri de dahildir. Ayrıca

Herhangi yazılım Web sunucunuzda çalıştırmak istediğiniz uygulamanın karşılaması gereken belirli gereksinimleri vardır. Örneğin, WordPress PHP'nin 5.2.4 veya üzeri sürümünü gerektirir. Sunucuya bağlı olarak, bazı PHP ayarlarını değiştirebilirsiniz, aksine diğerlerinin değiştirilmesi yasaktır, ancak hepsi hakkındaki bilgiler phpinfo dosyasında bulunabilir. Bu eğitimde phpinfo dosyasının nasıl oluşturulacağını öğrenecek ve PHP modüllerinin değerlerini ve durumlarını öğreneceksiniz. Bu aynı zamanda barındırma hesabınız hakkında max_execution_time, Memory_limit, post_max_size ve diğerleri gibi bilgileri almak için de yararlı olabilir.

Bu kılavuza başlamadan önce aşağıdakilere ihtiyacınız olacak:

  • Barındırma kontrol panelinize veya FTP hesabınıza erişim

Seçenek 1 - Hosting Kontrol Paneliniz Aracılığıyla PHP Bilgilerini Kontrol Etme

Hostinger'da hesabınızın PHP bilgileri şurada bulunabilir: Gelişmiş → PHP Bilgileri. Bu çok kullanışlı bir özelliktir çünkü barındırma sisteminizde ek dosyalar oluşturmanıza gerek kalmayacaktır.

Bundan sonra PHP sürümünüz, modülleriniz ve değerlerinizle ilgili gerekli tüm bilgilerin bulunduğu bir sayfaya yönlendirileceksiniz. Belirli bir modülü veya işlevi aramak için klavye kısayoluna basarak aramayı kullanın. CTRL+F.

Tebrikler! Hostinger kontrol paneli üzerinden php bilgilerinize nasıl ulaşacağınızı öğrendiniz.

Seçenek 2 - Phpinfo.php Dosyası Oluşturarak PHP Bilgilerini Kontrol Etme

Barındırma platformunuz aşağıda gösterilen özelliği desteklemiyorsa endişelenmeyin. seçenek 1. Aynı sonuca hosting hesabınızda özel bir dosya oluşturularak da ulaşılabilir. Dosya aynı zamanda PHP'nizle ilgili tüm bilgileri gösterecek ve tarayıcı üzerinden erişilebilir olacaktır.

Adım 2.1 - Bir phpinfo dosyası oluşturun

Phpinfo dosyası oluşturmanın birkaç yolu vardır. Bu derste kullanacağız. Ancak aynı sonuca, bilgisayarınızda bir dosya oluşturularak da ulaşılabilir. yerel bilgisayar ve ayrıca dosyayı .

Hosting kontrol panelinize giriş yapın ve açın Dosya yöneticisi . Düğmeye bas Yeni dosya yeni bir dosya oluşturmak için.

İlk alanda oluşturulacağı yolu belirtin yeni dosya. Daha sonra sahada Yeni dosya adı girmek phpinfo.php. Çoğu durumda yolu değiştirmeden bırakabilirsiniz /public_html. Bu durumda dosya sitenizin kök dizininde oluşturulacaktır.

Adım 2.2 - Dosyayı düzenlemek

Bu aşamada zaten boş bir dosyanız var phpinfo.php katalogda public_html. Aşağıdaki kodu bir dosyaya kopyalayın ve simgeye tıklayın Kaydetmek Ekranın sol köşesinde.

İşte bu, başarıyla oluşturdunuz PHP dosyası tüm PHP seçeneklerinizi gösterecektir. Daha önce de belirtildiği gibi, aynı sonuca aşağıdakiler kullanılarak da ulaşılabilir:

  1. Herhangi birini kullanın Metin düzeltici ve bir dosya oluştur phpinfo.php bilgisayarınızda.
  2. Aşağıdaki kodu dosyaya ekleyin:
  1. Dosyayı FTP kullanarak dizininize yükleyin public_html.

Adım 2.3 – Tarayıcı Üzerinden PHP Bilgilerinin Kontrol Edilmesi

Her şey doğru yapıldıysa artık alan adınızın sonuna ekleyerek oluşturulan dosyaya erişebilirsiniz. /Phpinfo.php. Örneğin, http://alaniniz.ru/phpinfo.php

Bu sayfayı bir tarayıcı aracılığıyla açtığınızda da benzer bir sonuç görmelisiniz:

Bu sayfada tüm PHP ayarlarınızı görebileceksiniz.

Çözüm

Bu eğitimi tamamlayarak phpinfo dosyasının nasıl oluşturulacağını ve bilgilerinizin nasıl kontrol edileceğini öğrendiniz. PHP ayarları. Bu bilgi Barındırma ayarlarınızı bilmek veya belirli PHP modülleri gerektiren yazılımı çalıştırmak istiyorsanız kullanışlıdır.

Dosyaları doğrudan web sunucusundan değil, PHP'yi kullanma(örneğin indirme istatistiklerini toplamak için) lütfen cat.txt altına girin.

1. readfile() işlevini kullanın

Bu yöntemin iyi yanı, kutudan çıktığı gibi çalışmasıdır. Sadece kendi dosya gönderme işlevinizi yazmanız gerekir (resmi belgelerden biraz değiştirilmiş örnek):

Function file_force_download($file) ( if (file_exists($file)) ( // arabelleği sıfırla PHP çıktısı betik için ayrılan belleğin taşmasını önlemek için // eğer bu yapılmazsa, dosya tamamen belleğe okunacaktır! if (ob_get_level()) ( ob_end_clean(); ) // tarayıcıyı dosya başlığını kaydetme penceresini göstermeye zorlayın("Content-Description: Dosya transferi"); başlık ("İçerik Türü: uygulama/sekizli akış"); başlık ("İçerik Dağılımı: ek; dosya adı = . temel adı ($ dosya)); başlık ("İçerik Aktarımı Kodlaması: ikili ") ; başlık ("Süresi doluyor: 0"); başlık ("Önbellek Kontrolü: yeniden doğrulanmalıdır"); başlık ("Pragma: genel"); başlık ("İçerik Uzunluğu: " . dosya boyutu ($ dosya)); // dosyayı okuyun ve kullanıcıya gönderin readfile($file); çıkış; ))
Büyük dosyalar bile bu şekilde gönderilebilir, çünkü PHP dosyayı okuyacak ve hemen kullanıcıya kısımlar halinde verecektir. Belgeler açıkça şunu belirtiyor: readfile() yapmamalı hafıza sorunları yaratır.

Özellikler:

  • Dosya, boyutu 8kB olan readfile() fonksiyonunun dahili arabelleğine okunur (2fast4rabbit sayesinde)

2. Dosyayı manuel olarak okuyun ve gönderin

Yöntem, dosyaları özel bir yerden gönderirken aynı Drupal'ı kullanır. dosya sistemi(dosyalara doğrudan bağlantılar yoluyla ulaşılamaz):

Function file_force_download($file) ( if (file_exists($file)) ( // betik için ayrılan belleğin taşmasını önlemek için PHP çıktı arabelleğini sıfırlayın // eğer bu yapılmazsa, dosya tamamen belleğe okunacaktır! if (ob_get_level()) ( ob_end_clean(); ) // tarayıcıyı dosya başlığını kaydetmek için pencereyi göstermeye zorlayın("Content-Description: Dosya Aktarımı"); başlık("Content-Type: application/octet-stream") ; başlık("İçerik-Dispozisyon: ek; dosyaadı =" . temeladı($dosya)); başlık("İçerik-Aktarım-Kodlama: ikili"); başlık("Son Kullanma Tarihi: 0"); başlık("Önbellek- Kontrol: yeniden doğrulamalı"); başlık ("Pragma: public"); başlık ("İçerik Uzunluğu: " . dosya boyutu($dosya)); // dosyayı okuyun ve eğer ($fd = fopen) kullanıcıya gönderin ($file, "rb")) ( while (!feof($ fd)) ( print fread($fd, 1024); ) fclose($fd); ) çıkış; ))
Özellikler:

  • Betik, dosyanın tamamı okunup kullanıcıya verilene kadar bekler.
  • Sunucu belleğinden tasarruf etmenizi sağlar

3. Web sunucusu modülünü kullanın

3 A. Apaçi
XSendFile modülü, özel bir başlık kullanarak Apache'nin kendisine bir dosya göndermenizi sağlar. Unix ve Windows için 2.0.*, 2.2.* ve 2.4.* versiyonları mevcuttur.

Ana bilgisayar ayarlarında, şu yönergeyi kullanarak başlık müdahalesini etkinleştirmeniz gerekir:
XSendFile Açık
Ayrıca dosyaların işlenebileceği dizinlerin beyaz listesini de belirleyebilirsiniz. Önemli: Sunucu tabanlı bir sunucunuz varsa Windows yolu büyük harfli bir sürücü harfi içermelidir.

Geliştiricinin web sitesinde olası seçeneklerin açıklaması: https://tn123.org/mod_xsendfile/

Dosya gönderme örneği:

Function file_force_download($file) ( if (file_exists($file)) ( başlık("X-SendFile: " . realpath($dosya)); başlık("Content-Type: application/octet-stream"); ​​​başlık (" Content-Disposition: ek; dosyaadı=" . temeladı($dosya)); çıkış; ))

3b. Nginx
Nginx, dosyaları özel bir başlık aracılığıyla kutunun dışına gönderebilir.

Doğru işlem için, klasöre erişimi doğrudan yapılandırma dosyası aracılığıyla reddetmeniz gerekir:
konum /korumalı/ (dahili; kök /bazı/yol; )
Dosya gönderme örneği (dosya /some/path/protected dizininde olmalıdır):

Function file_force_download($file) ( if (file_exists($file)) ( başlık("X-Accel-Redirect: " . $dosya); başlık("Content-Type: application/octet-stream"); ​​​header( "İçerik -Dispozisyon: ek; dosyaadı=" . temeladı($dosya)); çıkış; ))
Resmi dokümantasyon sayfasında daha fazla bilgi

Özellikler:

  • Komut dosyası, tüm talimatlar tamamlandıktan hemen sonra sona erer
  • Fiziksel olarak dosya PHP tarafından değil, web sunucusu modülünün kendisi tarafından gönderilir.
  • Minimum bellek ve sunucu kaynağı tüketimi
  • Maksimum performans

Güncelleme: Habrowser ilyaplot, application/octet-stream dosyasını değil, dosyanın gerçek mime türünü göndermenin daha iyi olduğu konusunda iyi tavsiyeler veriyor. Örneğin, bu tarayıcının değiştirmesine olanak tanır gerekli programlar dosya kaydetme iletişim kutusuna.




Tepe