2 ملفات php.ini
-
28-09-2019 - |
سؤال
لقد وجدت أن:
عندما أكتب ما يلي في المحطة:
php -i | grep php.ini
أحصل على الإخراج:
ملف التكوين المحمّل هو @etc/php5/cli/php.ini
ومع ذلك ، من phpinfo()
, ، أرى:
ملف ini المحمّل هو @etc/php5/apache2/php.ini
أي واحد من هؤلاء يعمل الآن؟ كيف يمكن الحصول على اثنين php.ini
ملفات؟
المحلول
يعتمد على المكان الذي تقوم فيه بتشغيل PHP من. إذا قمت بتشغيله من سطر الأوامر ، فإنه يستخدم cli/php.ini
و apache2/php.ini
عند الجري من خلال أباتشي.
أنت تنفذ phpinfo()
من خلال المتصفح ، وبالتالي تحصل /etc/php5/apache2/php.ini
كما الجواب. ادارة php -r "phpinfo();" | grep "Loaded Configuration"
من المحطة يجب أن يخرج cli ini. نفس الوظيفة ، يتغير السياق.
من الواضح أن ميزة هذا النظام هي السماح بتكوينات مختلفة اعتمادًا على السياق. للحصول على مثال مبسط ، قد ترغب في الحصول عليها safe_mode
في Apache ولكنه غير ضروري في وضع CLI.
لك .ini
المسارات في الواقع غير عادية للغاية. عادة ، الافتراضي .ini هو فقط php.ini
و CLI .Ini يسمى php-cli.ini
ويقيمون في نفس المجلد.
أنا لست خبيرًا في هذا الموضوع ، لكن هذه هي الفكرة الأساسية. إذا كان لدى أي شخص أي تصحيحات ، سأكون سعيدًا بسماعها.