PHP Info PHP. نقدم الملفات بفعالية مع PHP. نحن نستخدم وحدة خادم الويب

أي واحد البرمجياتتريد تشغيل خادم الويب الخاص بك لديه متطلبات معينة يجب أن تتطابق. على سبيل المثال، يتطلب WordPress إصدار PHP 5.2.4 وأعلى. اعتمادا على الخادم، يمكنك تغيير بعض إعدادات PHP، والآخرين على العكس من ذلك، يحظر التغيير، ومع ذلك، يمكنك فقط الحصول على معلومات حول ملف Phpinfo. في هذا الدليل، سوف تتعلم كيفية إنشاء ملف phpinfo وتعرف على قيم وحالة وحدات PHP. قد يكون من المفيد أيضا للحصول على معلومات حول استضافة حسابك، مثل Max_Execution_Time، memory_limit، post_max_size والآخر.

قبل أن تبدأ هذا الدليل، ستحتاج إلى ما يلي:

  • الوصول إلى لوحة التحكم في حساب الاستضافة أو FTP

الخيار 1 - التحقق من معلومات PHP عبر لوحة التحكم في استضافة

في Hostinger، يمكن العثور على معلومات حول PHP حسابك في القسم متقدمة → معلومات PHPوبعد هذه هي وظيفة مريحة للغاية، لأنك لن تحتاج إلى إنشاء ملفات إضافية على الاستضافة الخاصة بك.

بعد ذلك، انتقل إلى الصفحة مع جميع المعلومات الضرورية حول إصدار PHP والوحدات والوحدات والقيم. للبحث عن وحدة أو وظيفة محددة، استخدم البحث عن طريق الضغط على اختصار لوحة المفاتيح. CTRL + F..

تهانينا! لقد تعلمت كيفية الوصول إلى معلومات حول PHP الخاص بك من خلال لوحة تحكم Hostinger.

الخيار 2 - التحقق من معلومات PHP عن طريق إنشاء ملف phpinfo.php

لا تقلق إذا كانت منصة الاستضافة الخاصة بك لا تدعم الميزة الموضحة في الخيار 1.وبعد يمكن تحقيق نفس النتيجة عن طريق إنشاء ملف خاص. داخل استضافة حسابك. سيظهر الملف أيضا جميع المعلومات حول PHP الخاص بك وسوف تكون متاحة من خلال المتصفح.

الخطوة 2.1 - إنشاء ملف phpinfo

هناك عدة طرق لإنشاء ملف phpinfo. في هذا الدليل، سوف نستخدم لهذا الغرض. ومع ذلك، يمكن تحقيق نفس النتيجة من خلال إنشاء ملف على الكمبيوتر المحلي وزيادة تحميل الملف إلى الخادم من خلال.

أدخل لوحة التحكم في الاستضافة المفتوحة مدير الملفات وبعد اضغط الزر ملف جديد. لإنشاء ملف جديد.

في المجال الأول، حدد المسار حيث سيتم إنشاء الملف الجديد. بعد ذلك، في هذا المجال اسم ملف جديد يدخل phpinfo.php.وبعد في معظم الحالات، يمكنك ترك المسار دون تغيير. / public_html.وبعد في هذه الحالة، سيتم إنشاء الملف في الدليل الجذر لموقعك.

الخطوة 2.2 - تحرير الملف

في هذه المرحلة لديك بالفعل ملف فارغ phpinfo.php. في الكتالوجات public_html.وبعد انسخ التعليمات البرمجية التالية إلى الملف وانقر فوق الرمز. يحفظفي الركن الأيسر من الشاشة.

هذا كل شيء، لقد قمت بإنشاء ملف PHP بنجاح يعرض جميع معلمات PHP الخاصة بك. كما ذكرنا سابقا، يمكن تحقيق نفس النتيجة مع:

  1. استخدام أي محرر النص وإنشاء ملف phpinfo.php. على حاسوبك.
  2. أضف التعليمات البرمجية التالية إلى الملف:
  1. قم بتنزيل الملف باستخدام FTP إلى الكتالوج الخاص بك public_html..

الخطوة 2.3 - التحقق من المعلومات حول PHP من خلال المتصفح

إذا تم كل شيء بشكل صحيح، يمكنك الآن الوصول إلى الملف الذي تم إنشاؤه عن طريق إضافة إلى نهاية اسم المجال الخاص بك / ص.hpinfo.php.وبعد على سبيل المثال، http: //vashdomen.ru/phpinfo.php.

يجب أن ترى نتيجة مماثلة عند فتح هذه الصفحة من خلال المستعرض:

في هذه الصفحة، يمكنك رؤية جميع إعدادات PHP الخاصة بك.

استنتاج

بعد الانتهاء هذا الدليل لقد تعلمت كيفية إنشاء ملف phpinfo وتحقق من المعلومات حول إعدادات PHP الخاصة بك. هذه المعلومة من المفيد إذا كنت ترغب في معرفة إعدادات برنامج الاستضافة أو تشغيلك يتطلب وحدات PHP معينة.

(PHP 3، PHP 4، PHP 5)

phpinfo - يعرض الكثير من المعلومات حول PHP.

وصف

int phpinfo ()

يعرض عدد كبير من معلومات حول الوضع الحالي ل PHP. يتضمن ذلك معلومات حول خيارات تجميع PHP وإصدار PHP، إصدار PHP ومعلومات الخادم والبيئة (إذا تم تجميعها كوحدة)، بيئة PHP، إصدار OS، PATH، خيارات التكوين المحلي، قبعات ترخيص HTTP و PHP. نظرا لأن كل نظام تم تكوينه بطريقته الخاصة، عادة ما يتم استخدام Phpinfo () للتحقق من تكوين ومتغيرات متغير محددة مسبقا في هذا النظام. أيضا Phpinfo () هي أداة فائدة تصحيح مهمة، حيث أنه يحتوي على جميع بيانات EGPCS (بيئة، واحصل عليها، آخر، ملف تعريف الارتباط، خادم). يمكن التخصص الإخراج عن طريق تحويل واحد أو أكثر ثابت القيم بت مخفضة في اختياري ما المعلمة. يمكنك أيضا الجمع بين القيم الثابتة أو الثابت من خلال العملية.

جدول 1. خيارات Phpinfo ()
الاسم (ثابت) تحديث معلومات المعلومات Info_General1st التكوين، PHP.INI تاريخ البناء / بناء / خادم، خادم الويب، النظام، إلخ .info_credits2 Landsphp 4.Sm. أيضا phpcredits () .info_configuration4tecents قيم توجيه PHP المحلية والسيد. سم. أيضا ini_get () .info_modules8wed () وحدات ومستوياتها المناسبة .info_environment16environment 100environment المعلومات المتغيرة في $ _env .info_variables32 تعرض جميع المتغيرات المحددة مسبقا من EGPCS (البيئة، الحصول على، وظيفة، ملف تعريف الارتباط، خادم) .info_license64informationphp الترخيص. أيضا ترخيص الأسئلة الشائعة .info_all-1 معلقة فوق المحدد. هذه هي القيمة الافتراضية.

ملاحظة: يتم فصل أجزاء من المعلومات المعروضة عند تثبيت تكوين Expose_php. هذا يشمل شعارات PHP و ZEND والقروض. سم. أيضا

إذا كنت بحاجة إلى إعطاء الملفات غير مباشرة بواسطة خادم الويب، ولكن مع باستخدام php. (على سبيل المثال، لجمع إحصائيات التنزيل)، أطلب القط.

1. استخدام ReadFile ()

الطريقة جيدة ما يعمل من المربع. من الضروري فقط كتابة ملفك بإرسال ملف (مثال تعديل قليلا من الوثائق الرسمية):

وظيفة file_force_downloadload (ملف $) (if_exists (ملف $)) (// إعادة تعيين مخزن مؤقت إخراج PHP لتجنب تفيض الذاكرة المخصصة إلى البرنامج النصي // إذا كان هذا لا يجعل الملف سيتم قراءته في الذاكرة تماما! إذا (OB_GET_LEVEL ( )) (ob_end_clean ()؛) // أجبر المتصفح لإظهار نافذة تخزين ملفات الرأس ("المحتوى الوصف: نقل الملف.")؛ رأس (" نوع المحتوى: تطبيق / Octet-Stream ")؛ رأس (" المحتوى التصرف: المرفق؛ FileName \u003d ". اسم Basename ($ ملف))؛ رأس (" ترميز تحويل المحتوى: ثنائي ") ؛ رأس ("انتهاء الصلاحية: 0")؛ رأس ("التحكم في التخزين المؤقت: يجب أن - Revalidate")؛ رأس ("Pragma: Public")؛ رأس ("طول المحتوى:". filesize (ملف $))؛ // نقرأ الملف وإرساله إلى مستخدم ReadFile (ملف $)؛ الخروج؛))
بهذه الطريقة، يمكنك حتى إرسال ملفات كبيرةنظرا لأن PHP سيقرأ الملف وإعطائه على الفور للمستخدم في الأجزاء. تنص الوثائق بوضوح على أن ReadFile () لا يجب إنشاء مشاكل الذاكرة.

سمات:

  • يتم قراءة الملف في دالة المخزن المؤقت الداخلي ReadFile ()، حجمها 8 كيلو بايت (شكرا 2fast4rabbbit)

2. قراءة وإرسال ملف يدويا

تستخدم الطريقة نفس drupal عند إرسال الملفات من القطاع الخاص نظام الملفات (الملفات غير متوفرة مباشرة بالرجوع إليها):

وظيفة file_force_downloadload (ملف $) (if_exists (ملف $)) (// إعادة تعيين مخزن مؤقت إخراج PHP لتجنب تفيض الذاكرة المخصصة إلى البرنامج النصي // إذا كان هذا لا يجعل الملف سيتم قراءته في الذاكرة تماما! إذا (OB_GET_LEVEL ( )) (ob_end_clean ()؛) // فسر المتصفح لإظهار نافذة تخزين ملف الرأس ("المحتوى الوصف: نقل الملفات")؛ رأس ("نوع المحتوى: التطبيق / Octet-Stream")؛ رأس ("المحتوى - الاعتراض: المرفق؛ اسم الملف \u003d ". اسم البسنة (ملف $))؛ رأس (" ترميز نقل المحتوى: ثنائي ")؛ رأس (" التحكم في التخزين المؤقت: يجب أن - Revalidate ")؛ رأس (" Pragma: Public ") ؛ رأس ("طول المحتوى:". filesize (ملف $))؛ // نقرأ الملف وإرساله إلى المستخدم إذا ($ FD \u003d FOPEN ($ ملف، RB)) (أثناء (! FOF ($ FD) )) (الطباعة FREAD ($ fd، 1024)؛) fclose ($ fd)؛) الخروج؛))
سمات:

  • البرنامج النصي ينتظر قراءة الملف بأكمله وتعطى للمستخدم.
  • يسمح لك بحفظ ذاكرة الخادم

3. استخدم وحدة خادم الويب

3A. أباتشي.
تسمح لك وحدة XSENDFILE بإرسال Apache إرسال ملف باستخدام رأس خاص. هناك إصدارات على UNIX و Windows، ضمن الإصدار 2.0. *، 2.2. * و 2.4. *

في إعدادات المضيف، تحتاج إلى تمكين اعتراض العنوان باستخدام التوجيه:
xsendfile على.
يمكنك أيضا تحديد قائمة الدليل الأبيض والملفات التي يمكن معالجتها. هام: إذا كان لديك خادم يستند إلى Windows، يجب أن يتضمن المسار حرف قرص في الحالة العليا.

وصف الخيارات الممكنة على موقع المطور: https://tn123.org/mod_xsendfile/

مثال على إرسال ملف:

وظيفة file_force_download (file_exists (file_exists (ملف $) (رأس x-sendfile: ". realpath (ملف $))؛ رأس (" نوع المحتوى: التطبيق / Octet-Stream ")؛ رأس (" المحتوى التصرف: مرفق؛ اسم الملف؛ اسم الملف \u003d ". اسم البسنة ($ ملف))؛ الخروج؛))

3b. nginx.
يمكن Nginx إرسال ملفات من المربع من خلال رأس خاص.

للعمل بشكل صحيح، من الضروري منع الوصول إلى المجلد مباشرة من خلال ملف الضبط.:
الموقع / المحمية / (الداخلية؛ الجذر / بعض / المسار؛)
مثال على إرسال ملف (يجب أن يكون الملف في الدليل / بعض / المسار / الدليل المحمي):

وظيفة file_force_download (file_exists (ملف $ (ملف $)) (رأس x-accel - إعادة توجيه: ". $ ملف)؛ رأس (" نوع المحتوى: التطبيق / Octet-Stream ")؛ رأس (" المحتوى -Disposition: مرفق؛ اسم الملف؛ اسم الملف؛ \u003d ". اسم البسنة ($ ملف))؛ الخروج؛))
مزيد من المعلومات حول صفحة الوثائق الرسمية

سمات:

  • اكتمال البرنامج النصي فور تنفيذ جميع التعليمات.
  • يتم إرسال ملف جسدي بواسطة خادم الويب نفسه، وليس PHP
  • الحد الأدنى لذاكرة الخادم وموارد الخادم
  • السرعة القصوى

تحديث: Habrayuser Ilyaplot يعطي نصيحة مفيدةمن الأفضل أن ترسل ليس تطبيق / Octet-Stream، ولكن ملف نوع MIME الحقيقي. على سبيل المثال، سيسمح للمتصفح بديلا البرامج المطلوبة في مربع الحوار لحفظ الملف.