Расширение PHP PDO недоступно в командной строке - PullRequest
5 голосов
/ 29 сентября 2011

Я перешел с WAMP на EasyPHP, и теперь возникают проблемы с использованием PDO. PDO работает нормально, когда я просматриваю сайт в браузере, но не работает в cmd или когда я запускаю тестовый файл через Netbeans. Я получаю:

«PDOException: не удалось найти драйвер»

В phpinfo() для команды настройки у меня есть

cscript /nologo configure.js " --enable-snapshot-build" " --disable-isapi" " --enable-debug-pack" " --disable-isapi" " --without-mssql" " --without-pdo-mssql" " --without-pi3web" " --with-pdo-oci=D:\php-sdk\oracle\instantclient10\sdk, shared" " --with-oci8=D:\php-sdk\oracle\instantclient10\sdk, shared" " --with-oci8-11g=D:\php-sdk\oracle\instantclient11\sdk, shared" " --enable-object-out-dir=../obj/" " --enable-com-dotnet" " --with-mcrypt=static" " --disable-static-analyze"

В php.ini я уже раскомментировал эти строки:

extension=php_pdo_mysql.dll

extension=php_mysql.dll

Любые идеи о том, как я могу заставить это работать?

Ответы [ 3 ]

5 голосов
/ 30 сентября 2011

При запуске php из командной строки вы можете использовать аргумент -c или --php-ini, чтобы указать на файл php.ini для использования. Это позволит вам использовать один файл php.ini для обоих. Вы также можете использовать псевдоним от php до php -c/path/to/php.ini, если вы запускаете скрипт самостоятельно.

2 голосов
/ 29 сентября 2011

Все установки веб-сервера, если вы используете Linux или Windows, обычно используют 2 разных php.ini.Один для CLI (клиент командной строки) и один для APACHE или где бы сервер ни находился в easyphp.

Я не могу вам больше помочь, так как я нахожусь на Linux и не использую EasyPHP, нопосмотрите в этом направлении, может быть, вам поможет системный поиск?

0 голосов
/ 30 сентября 2011

Я нашел решение проблемы.Как отметил Матье Дюмулен, PHP загружает другой .ini для CLI.Поэтому я создал файл php-cli.ini в папке php, и проблема была решена.

...