«أين هذا الملف اللعين php.ini؟» — سؤال يثير حيرة حتى المطورين المخضرمين
\n\nهل سبق لك أن شعرت وكأنك صياد كنوز، ولكن بدلاً من الذهب تبحث عن ملف php.ini؟ إذا كان الأمر كذلك، فأنت لست وحدك. سؤال «أين يمكنني العثور على php.ini؟» على Stack Overflow حصد عشرات الآلاف من المشاهدات. وهذا ليس من قبيل الصدفة.
\n\nتخيل: لقد قمت بتثبيت PHP، وكتبت كوداً مثالياً، لكنه يرفض بعناد العمل. أو تقوم بتغيير الإعدادات في php.ini، وتعيد تشغيل الخادم، ولكن التغييرات… لا تُطبق. هل يبدو ذلك مألوفاً؟ مرحباً بك في النادي.
\n\nفي هذه المقالة، لن نكتفي بإظهار مكان وجود php.ini. بل سنحلل أكثر 5 أخطاء شيوعاً التي يقع فيها المطورون، ونقدم تعليمات واضحة لتجنبها. هيا بنا!
\n\nما هو php.ini وما فائدته؟
\n\nphp.ini هو ملف الإعدادات الرئيسي لـ PHP. من خلاله تتحكم في سلوك اللغة: بدءاً من الحد الأقصى لحجم الملف المرفوع، وصولاً إلى مدة تنفيذ السكريبت. بدونه، يعمل PHP «على هواه» — بالإعدادات الافتراضية.
\n\nإليك بعض المعلمات التي يمكنك تغييرها في php.ini:
\n\n- \n
upload_max_filesize— الحد الأقصى لحجم الملف المرفوع \n max_execution_time— أقصى مدة لتنفيذ السكريبت \n memory_limit— حد الذاكرة للسكريبت \n display_errors— إظهار الأخطاء على الشاشة أم لا \n error_reporting— مستوى عرض الأخطاء \n
المشكلة هي أن موقع php.ini يختلف باختلاف أنظمة التشغيل والبيئات. وهذه هي أول فخ للمبتدئين.
\n\nأين تبحث عن php.ini: دليل سريع لجميع أنظمة التشغيل
\n\nلينكس (Ubuntu, Debian, CentOS)
\n\nعلى لينكس، قد يكون الملف في عدة أماكن. أشهرها:
\n\n/etc/php/8.1/cli/php.ini # لسطر الأوامر (CLI)\n/etc/php/8.1/apache2/php.ini # لخادم Apache\n/etc/php/8.1/fpm/php.ini # لـ PHP-FPM\n\nلاحظ: إصدار PHP (8.1) قد يختلف. إذا كان لديك PHP 8.0، سيكون المسار /etc/php/8.0/....
كيف تجده بسرعة؟ نفّذ في الطرفية:
\n\nphp --ini\n\nسيظهر لك هذا الأمر المسار إلى ملف الإعدادات المُحمّل.
\n\nويندوز
\n\nعلى ويندوز، عادةً ما يكون php.ini في مجلد تثبيت PHP:
\n\nC:\\php\\php.ini\nC:\\Program Files\\PHP\\php.ini\nC:\\xampp\\php\\php.ini # إذا كنت تستخدم XAMPP\nC:\\wamp64\\bin\\php\\php8.1.0\\php.ini # لـ WAMP\n\nماك (macOS)
\n\nعلى macOS (إذا تم تثبيت PHP عبر Homebrew):
\n\n/usr/local/etc/php/8.1/php.ini\n/opt/homebrew/etc/php/8.1/php.ini # لمعالجات Apple Silicon\n\nإذا كنت تستخدم PHP المدمج من Apple (لا ننصح به)، فقد يكون المسار مختلفاً.
\n\nدوكر (Docker)
\n\nفي حاوية Docker، المسار الافتراضي للينكس:
\n\n/usr/local/etc/php/php.ini\n\nلكن من الأفضل تثبيت php.ini الخاص بك عبر volumes:
\n\ndocker run -v /path/to/your/php.ini:/usr/local/etc/php/php.ini my-php-app\n\nأهم 5 أخطاء عند العمل مع php.ini (وكيفية تجنبها)
\n\nالخطأ رقم 1: أقوم بتعديل ملف php.ini الخاطئ
\n\nهذه هي المشكلة الأكثر شيوعاً. تفتح ملفاً، تغير الإعدادات، تعيد تشغيل الخادم، لكن PHP يستمر في العمل بالإعدادات القديمة. لماذا؟ لأنك قمت بتعديل الملف الخطأ!
\n\nقد يستخدم PHP ملفات php.ini مختلفة لسطر الأوامر (CLI) ولخادم الويب (Apache/Nginx).
\n\nكيف تتجنب ذلك:
\n\n- \n
- أنشئ ملف PHP بالمحتوى التالي: \n
<?php\nphpinfo();\n?>\n\n- \n
- شغّله في المتصفح (إذا كنت تختبر نسخة الويب) أو في الطرفية (
php yourfile.php). \n - ابحث عن السطر Loaded Configuration File — هذا هو مسار الملف النشط. \n