2013-08-24 2 views
0

Я пытаюсь обновить схему базы данных MySQL с помощью doctorinePDOException - не смог найти драйвер - не удалось обновить схему базы данных с помощью PHP

php app/console doctrine:schema:update --force 

это показывает

PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/Cellar/php/5.3.10/lib/php/extensions/no-debug-non-zts-20090626/php_pdo_mysql.dll' - dlopen(/usr/local/Cellar/php/5.3.10/lib/php/extensions/no-debug-non-zts-20090626/php_pdo_mysql.dll, 9): image not found in Unknown on line 0 


    [PDOException]   
    could not find driver 

это выглядит как расширение недоступно.

, но в соответствии с моим phpinfo();

pdo_mysql включен.

pdo_mysql 

PDO Driver for MySQL enabled 
Client API version mysqlnd 5.0.10 - 20111026 - $Id:  e707c415db32080b3752b232487a435ee0372157 $ 

Directive Local Value Master Value 
pdo_mysql.default_socket /tmp/mysql.sock /tmp/mysql.sock 

Есть ли еще какая-нибудь точка для проверки?

Я также попытался закомментировать или раскомментировать эту строку в php.ini

;extension=php_pdo_mysql.dll 

спасибо большое.

+0

перезагрузить все службы веб-сервера. nd проверка все еще происходит .. – Rahul

+0

@Rahul: это проблема с CLI, поэтому веб-сервер не задействован. – greg0ire

ответ

2

Вы используете php в CLI, который не может быть настроен так же, как php, модуль вашего веб-сервера.

Это означает, что если вам нужна информация о php CLI, вы должны попробовать php -i в cli, а не запрашивать сценарий с вызовом phpinfo(). Более просто, чтобы проверить, какие модули загружены в CLI, запустите php -m.

А также, чтобы узнать, какие файлы ini загружены в CLI, используйте php --ini.

+0

oh, great hint!, Phpinfo() показывает, используя /usr/local/php5/lib/php.ini, но php -i показывает, используя /usr/local/Cellar/php/5.3.10/etc/php.ini. Как я могу изменить файл php.ini CLI? – whitebear

+0

Я не знаю, я полагаю, вам нужно перекомпилировать php или всегда запускать его с некоторым вариантом. Если это так, чтобы иметь тот же файл конфигурации, я советую вам этого не делать. Есть вещи, такие как параметр 'memory_limit', которые вы хотите сохранить отдельно. Если вы все еще хотите иметь тот же файл, я думаю, вы можете заменить php.ini для cli символической ссылкой на другую. – greg0ire

+0

Я перекомпилировал и получил успех. – whitebear

Смежные вопросы