سؤال

يبدو أن سطر أوامر PHP يستخدم php.ini مختلف من مترجم PHP الرئيسي. أنا أستخدم Ubuntu 10.4. مشكلتي هي أنه في php.ini الرئيسي ، قمت بتضمين مسار إضافي لمكتبة خارجية ، ولكن في إصدار CLI هذا غير موجود ، ولذا لدي خطأ في إدراج المسار.

شكرًا

هل كانت مفيدة؟

المحلول

فقط اسأل PHP:

$ php -i |grep php\.ini

نصائح أخرى

افضل حتى الآن:$ php --ini

سيظهر هذا أيضًا جميع ملفات *.ini المحملة (عادة ما تكون معلقة في بعض conf.d dir في Debian):

ملف التكوين (php.ini) المسار:/etc/php5/cli
ملف التكوين المحمّل: /etc/php5/cli/php.ini
مسح لملفات .ini إضافية في: /etc/php5/cli/conf.d
ملفات .ini إضافية محلية: /etc/php5/cli/conf.d/apc.ini ،
/etc/php5/cli/conf.d/curl.ini ،
/etc/php5/cli/conf.d/gd.ini ،
/etc/php5/cli/conf.d/geoip.ini ،
/etc/php5/cli/conf.d/imagick.ini ،
/etc/php5/cli/conf.d/imap.ini ،
/etc/php5/cli/conf.d/ldap.ini ،
/etc/php5/cli/conf.d/memcache.ini ،
/etc/php5/cli/conf.d/memcached.ini ،
/etc/php5/cli/conf.d/ming.ini ،
/etc/php5/cli/conf.d/mysql.ini ،
/etc/php5/cli/conf.d/mysqli.ini ،
/etc/php5/cli/conf.d/pdo.ini ،
/etc/php5/cli/conf.d/pdo_mysql.ini ،
/etc/php5/cli/conf.d/pdo_sqlite.ini ،
/etc/php5/cli/conf.d/snmp.ini ،
/etc/php5/cli/conf.d/sqlite.ini ،
/etc/php5/cli/conf.d/sqlite3.ini ،
/etc/php5/cli/conf.d/suhosin.ini ،
/etc/php5/cli/conf.d/tidy.ini ،
/etc/php5/cli/conf.d/xdebug.ini ،
/etc/php5/cli/conf.d/xsl.ini

لاحظ أن هذا كان حول PHP-Cli ، PHP-CGI ليس لديه هذا AFAIK.

في وظيفتي الأخيرة ، حصلت على عادة تحديد ملف INI الخاص بي على كل تنفيذ ...

C:\php\cli\php.exe -c C:\php\php.ini myscript.php

يمكنك العثور على php.ini باستخدام الأمر أدناه. في لينكس

find / -name php.ini

أو

locate php.ini

/etc/php5/cli/php.ini

من المثير للاهتمام في Windows أنه في كلا الاختبارين (على Apache مع Phpinfo () وفي CLI مع PHP - -Ini) ، فإن مسار ملف التكوين هو C: Windows. مزيد من المعلومات هنا

كان لي نفس المشكلة. ما عليك سوى التحقق من المالك والأذونات من كل ملفات في /etc/php5/conf.d/. يجب أن تكون مملوكة من قبل الجذر وقابلة للقراءة من قبل أي شيء.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top