Ответ 1
Просто спросите PHP:
$ php -i |grep php\.ini
Похоже, что в командной строке php используется другой php.ini из основного php-интерпретатора. Я использую Ubuntu 10.4. Моя проблема заключается в том, что в основном php.ini я включил дополнительный путь для внешней библиотеки, но в версии cli этого нет, и поэтому у меня есть ошибка включения пути.
спасибо
Просто спросите PHP:
$ php -i |grep php\.ini
Еще лучше:
$ php --ini
Это также покажет все дополнительные файлы *.ini, загруженные (обычно зависающие в некоторых файлах conf.d в 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, используя команду ниже. в LINUX
find / -name php.ini
или
locate php.ini
/etc/php5/cli/php.ini
Интересно, что в обоих тестах (в apache с phpinfo() и в cli с php -ini) путь к файлу конфигурации - c:\windows. Подробнее здесь
У меня была та же проблема. Просто проверьте владельца и разрешения от всех файлов в файле /etc/php 5/conf.d/. Он должен принадлежать root и доступен любому человеку.