كل شيء عن ملف تكوين PHP

كل شيء عن ملف تكوين PHP

في هذا الدليل ، سنقوم بفحص ملف تكوين PHP المسمى php.ini. في هذا الدليل التمهيدي ، سوف نفحص الغرض من ملف التكوين هذا وموقعه وبعض إعدادات التكوين المهمة.

ما هو php.ini؟

سواء كنت جديدًا على PHP أو مطورًا بدوام جزئي ، فقد سمعت بالتأكيد عن ملف php.ini الآن. هذا الملف هو أهم ملف تكوين PHP.

عند تشغيل PHP ، فإنه يبحث عن ملف php.ini في أماكن معينة لتحميله. يسمح هذا الملف بتكوين العديد من الإعدادات المهمة. يجب أن تكون على دراية بهذه الأشياء ، لأنه في معظم الحالات يجب عليك معالجة هذه الإعدادات في هذا الملف.

من ناحية أخرى ، من المحتمل أنك لم تحتاج أبدًا إلى تحرير ملف php.ini. يمكن تشغيل PHP دون أي مشاكل مع الإعدادات الافتراضية المتوفرة في ملف php.ini ، لأن الإعدادات الافتراضية الموصى بها مخزنة في البداية في هذا الملف. لا توجد في الواقع معلمات تهيئة ضرورية في ملف php.ini نحتاج إلى ضبطها لتشغيل PHP.

ومع ذلك ، يحتوي ملف php.ini على بعض الإعدادات المهمة التي يجب أن تكون على دراية بها. في الواقع ، تعلم هذه الأشياء أمر لا مفر منه لمطور PHP وسيتعين عليك التعامل معها عاجلاً أم آجلاً.

أين هو php.ini؟

في هذا القسم ، سوف نفحص كيفية العثور على ملف php.ini الذي تم تحميله أثناء تنفيذ نصوص PHP. هذا صعب بعض الشيء ، لأن موقع ملف php.ini يمكن أن يختلف اختلافًا كبيرًا اعتمادًا على البيئة التي يعمل فيها PHP. إذا كنت تعمل على نظام Windows ، فمن المحتمل أن يكون ملف php.ini موجودًا في دليل تثبيت PHP على محرك أقراص النظام. من ناحية أخرى ، إذا كنت تستخدم نظام تشغيل آخر ، فمن الصعب تخمين الموقع الدقيق لـ php.ini وهناك العديد من الأخطاء.

لهذا السبب ، فإن وظيفة phpinfo () تساعدنا. تحدد هذه الوظيفة موقع ملف php.ini. كما أنه ينتج معلومات تكوين PHP مهمة.

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

<?php
phpinfo();
?>

قم بتحميل هذا الملف في المتصفح لرؤية إخراج phpinfo (). انظر القسم أدناه:

كما ترى ، هناك جزئين. الجزء الأول هو مسار ملف php.ini:

Configuration File (php.ini) Path

والجزء الثاني هو أيضًا ملف التكوين الذي تم تحميل php.ini منه بالفعل:

Loaded Configuration File

لذلك ، يمكنك تحرير ملف php.ini المذكور في القسم أعلاه ، وفي معظم الحالات يكون هذا الموقف كافيًا. بالطبع ، إذا كنت تقوم بتشغيل PHP كوحدة نمطية Apache ، فيجب إعادة تشغيل خادم Apache للتأكد من أن التغييرات التي تم إجراؤها تنعكس في ملف php.ini. من ناحية أخرى ، إذا كنت تستخدم برنامجًا مثل WAMP أو XAMPP لتطوير الويب ، فسيكون تحرير ملف php.ini أسهل. في القسم التالي ، سوف نفحص بعض الإعدادات المهمة في ملف php.ini.

تنظیمات مهم فایل php.ini

يحتوي ملف php.ini على العديد من توجيهات التكوين التي تسمح لك بتغيير سلوكيات PHP المختلفة. في الواقع ، عندما نفتح ملف php.ini ، قد نتفاجأ برؤية العدد الكبير من التعليمات الموجودة بداخله. في هذا القسم ، نحاول تجميع هذه العناصر وفقًا لسلوكها ونأمل أن يسهل عليك فهمها. بالطبع ، لن نراجع النطاق الكامل للتوجيهات ، لكننا سنشرح بعضًا من أهمها. في ما يلي ، سوف نفحص أنواع التوجيهات التي ننوي شرحها:

  • توجيهات معالجة الخطأ
  • توجيهات تحميل الملف
  • التوجيهات المتعلقة بالأمان
  • توجيهات الجلسة
  • توجيهات متنوعة

توجيهات معالجة الخطأ

في هذا القسم ، سنراجع التوجيهات المستخدمة لمعالجة الأخطاء والمفيدة لتصحيح الأخطاء أثناء التطوير.

display_errors

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

الإبلاغ عن الأخطاء

يسمح لك هذا التوجيه بتحديد مستوى الإبلاغ عن الخطأ. يعمل هذا التوجيه بشكل أساسي مع التوجيه السابق ، display_errors. يمكن أن يقبل هذا التوجيه الثوابت E_ALL و E_NOTICE و E_STRICT و E_DEPRECATED.

إذا أردنا عرض جميع أنواع الأخطاء مثل الأخطاء الفادحة والتحذيرات والوظائف المهملة وما إلى ذلك ، فيجب علينا استخدام E_ALL. يمكننا أيضًا دمج قيم مختلفة لتصفية أخطاء معينة. على سبيل المثال ، إذا أردنا عرض جميع الأخطاء باستثناء الإشعارات ، فيجب علينا استخدام E_ALL & ~ E_NOTICE.

سجل الخطأ

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

توجيهات تحميل الملف

في هذا القسم ، سوف نفحص بعض التوجيهات المهمة التي تتيح استخدام ميزة تحميل الملف في نماذج PHP.

file_uploads

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

upload_max_filesize

إذا تم تمكين التوجيه السابق ، أي تحميل الملف على موقع الويب وتواجه مشاكل في تحميل الملف ، فيجب عليك التحقق من هذا التوجيه أولاً. يسمح لك هذا التوجيه بتحديد الحجم الأقصى للملف الذي سيتم تحميله.

بشكل افتراضي ، الحد الأقصى لحجم الملف هو 2 ميغابايت ، لذلك لا يمكن للمستخدمين تحميل ملف أكبر من هذا. من الممكن تعديل هذه القيمة وفقًا للاحتياجات. في معظم الحالات ، من الضروري زيادة هذه القيمة بحيث يمكن تحميل الملفات الأكبر حجمًا على الخادم.

post_max_size

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

يجب أن تكون هذه القيمة أكبر من القيمة المحددة في التوجيه upload_max_filesize ، لأن الملفات التي تم تحميلها تتم معالجتها بواسطة طلبات POST.

التوجيهات الأمنية

في هذا القسم ، ندرس بعض التوجيهات المهمة المتعلقة بالأمان.

allow_url_fopen

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

allow_url_include

يكون التوجيه allow_url_include مشابهًا للتوجيه allow_url_fopen ، ولكنه يسمح بتضمين الملف البعيد فقط في وظائف التضمين. وبهذه الطريقة ، يمكن استخدام الملفات البعيدة في وظائف التضمين ، والتضمين ، والتطلب ، والمطلوب مرة واحدة.

إذا كنت تريد تمكين هذا التوجيه ، فأنت بحاجة إلى التأكد من تمكين توجيهات allow_url_fopen أيضًا.

توجيهات الاجتماع

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

session.name

يسمح التوجيه session.name بتحديد اسم ملف تعريف ارتباط الجلسة. يتم تعيين قيمته افتراضيًا على PHPSESSID ، ولكن يمكن تغيير هذه القيمة إلى أي شيء آخر.

جلسة. auto_start

إذا قمت بتعيين قيمة Session.auto_start التوجيه إلى 1 ، فإن وحدة الجلسة في PHP ستفتح تلقائيًا جلسة لكل طلب ، لذلك ليست هناك حاجة لاستخدام وظيفة session_start في البرامج النصية.

جلسة. ملف تعريف الارتباط_عمر

يسمح جلسة التوجيهات session.cookie_lifetime بتحديد عمر ملف تعريف ارتباط الجلسة. بشكل افتراضي ، يتم تعيين قيمته على 0 ثانية ، مما يعني أنه سيتم حذف ملف تعريف ارتباط الجلسة عند إغلاق المتصفح. هذه الحالة مفيدة في الحالات التي تريد فيها إعداد نوع وظيفة "تذكرني" ، مما يسمح للمستخدمين بمواصلة العمل على موقعك من حيث توقفوا في زيارة سابقة.

توجيهات متنوعة

في الجزء الأخير من هذه المقالة ، سنفحص التوجيهات الأخرى المهمة في إطار تنفيذ نص PHP.

ذاكرة_حد

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

أقصى حد للوقت

يحدد التوجيه الحد الأقصى للوقت الذي يمكن أن يعمل فيه البرنامج النصي. القيمة الافتراضية هي 30 ثانية ويمكن زيادتها إلى أي مبلغ معقول حسب الحاجة. مثل التوجيه السابق ، يجب ألا يكون هذا الرقم كبيرًا جدًا لأنه يسبب مشاكل للخادم.

max_input_time

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

ما هو رد فعلك؟

like

dislike

love

funny

angry

sad

wow