آخر تحديث:
ملف php.ini هو ملف إعدادات PHP، ومنه تتحكم في أمور مثل الحد الأقصى للذاكرة وحجم الملفات المرفوعة وإظهار الأخطاء وبعض إعدادات الأمان. ضبطه بشكل صحيح يحمي موقعك ويمنع كثيراً من الأعطال.
أولاً: تغيير إعدادات PHP في الاستضافة المشتركة #
في استضافة حياة هوست لا تحتاج إلى تعديل ملف php.ini يدوياً. خوادمنا تعمل بنظام CloudLinux، وتغيّر الإعدادات من لوحة cPanel:
- ادخل إلى cPanel.
- من قسم البرامج (Software) اضغط Select PHP Version.
- افتح تبويب Options، وعدّل القيمة التي تريدها، ويُحفظ التغيير تلقائياً.
ومن تبويب Extensions في الصفحة نفسها تفعّل الإضافات التي يحتاجها موقعك، مثل ioncube_loader أو imagick.
ثانياً: الإعدادات الآمنة المقترحة #
- expose_php = Off: يخفي رقم إصدار PHP من ردود السيرفر، فلا يعرف المهاجم إصدارك بسهولة.
- allow_url_include = Off: يمنع تضمين ملفات PHP من روابط خارجية. اتركه مغلقاً دائماً، فهو من أشهر طرق الاختراق.
- allow_url_fopen: يسمح لـ PHP بقراءة ملفات من روابط خارجية. كثير من الإضافات والسكربتات تحتاجه (مثل تحديثات ووردبريس وبوابات الدفع)، فلا تغلقه إلا إذا كنت متأكداً أن موقعك لا يحتاجه.
- display_errors = Off: لا تُظهر الأخطاء لزوار الموقع المنشور، لأنها قد تكشف مسارات ومعلومات داخلية. استخدم سجل الأخطاء (error_log) بدلاً من ذلك.
- memory_limit: الحد الأقصى للذاكرة لكل عملية PHP، و256M كافية لمعظم مواقع ووردبريس.
- upload_max_filesize وpost_max_size: الحد الأقصى لحجم الملفات المرفوعة. اجعل post_max_size أكبر من upload_max_filesize أو مساوياً له.
- max_execution_time: أقصى وقت لتنفيذ السكربت بالثواني. ارفعه مؤقتاً عند استيراد ملفات كبيرة فقط.
إعدادات قديمة لم تعد موجودة: safe_mode وregister_globals وmagic_quotes_gpc أُزيلت من PHP (في الإصداري 5.4 و7). إذا وجدت شرحاً يطلب تغييرها فهو قديم، ولا حاجة لها في PHP 8.
ثالثاً: على السيرفر الخاص أو VPS #
إذا كان لديك سيرفر بلوحة WHM، فعدّل الإعدادات من WHM ← Software ← MultiPHP INI Editor، أو من إعدادات CloudLinux PHP Selector إن كان مثبتاً. ولمعرفة مسار ملف php.ini المستخدم عبر SSH (شرح الاتصال بالسيرفر عن طريق SSH) استخدم الأمر:
php --ini
disable_functions: يمكن على السيرفر الخاص تعطيل دوال خطيرة مثل exec وshell_exec وsystem وpassthru وproc_open وpopen. لكن عطّلها بحذر وجرّب موقعك بعدها، فبعض الإضافات وأدوات النسخ الاحتياطي تحتاج بعضها. ولا تنسخ قوائم طويلة من الإنترنت، لأنها قد توقف مواقعك.
وبعد أي تعديل في ملف php.ini أعد تشغيل خدمة PHP أو Apache حتى يطبّق التغيير.
الخدمة المناسبة: إدارة السيرفرات من حياة هوست: نضبط إعدادات PHP والأمان على سيرفرك، مع دعم فني عربي على مدار الساعة.