2016-02-10 3 views
1

я запускать эту команду для отладки, почему PHP CLI не работает:PHP CLI не работает, PDO не нашел

php -n MYPHPFILE.php 

И получите это:

Fatal error: Class 'PDO' not found in example-file.php on line 59 

Я проверил расширение PDO и его уже правильно установлен. Im работает nginx, php5 fpm server.

Любая идея, что не так?

+0

Вы используете пространства имен в своем приложении? – vitozev

+0

Вы уверены, что версия cli такая же, как и версия apache? – fusion3k

+0

Как проверить версии? Im использует nginx с php5-fpm. И запустил сайт Magento – user3715053

ответ

3

В -n включатель (цитируются php --help):

Нет php.ini файл не будет использоваться

Когда PHP будет построен, он обычно сконфигурирован с опцией --with-config-file-scan-dir=target. Это заставляет PHP сканировать target при запуске для дополнительных ini-файлов, target может быть чем-то вроде /etc/php.d. Обычно это механизм, с помощью которого загружаются отдельные расширения.

Текст справки замалчивая, что -n также останавливает target сканируемого, что will soon сказать:

Нет конфигурации (INI) файлы будут использоваться

Это приводит к конфигурации которая загружается PDO (extension=pdo.so) не используется, либо потому, что она находится в php.ini, либо потому, что она находится в другом ini-файле внутри каталога сканирования.

Удалить переключатель -n.