Как использовать Linux Xampp mysql_pdo с Symfony 2.0 - PullRequest
4 голосов
/ 19 июля 2011

У меня серьезная проблема.Я хотел бы использовать Doctrine 2 на моем проекте Symfony 2.

Я изменил путь php из приложения / консоли:

/opt/lampp/bin php

Я указал хороший путь для моегоmysql_pdo в /opt/lampp/etc/php.ini

pdo_mysql.default_socket = /opt/lampp/var/mysql/mysql.sock

и проверьте мой php_info () для моего pdo:

PDO

PDO support   enabled
PDO drivers   mysql, pgsql, sqlite, sqlite2

pdo_mysql

PDO Driver for MySQL  enabled
Client API version    mysqlnd 5.0.7-dev - 091210 - $Revision: 304625

$

Directive Local Value Master Value

pdo_mysql.default_socket /opt/lampp/var/mysql/mysql.sock /opt/lampp/var/mysql/mysql.sock

pdo_pgsql

PDO Driver for PostgreSQL enabled
PostgreSQL(libpq) Version 8.0.3
Module version    1.0.2
Revision   $Id: pdo_pgsql.c 300351 2010-06-10 12:11:19Z iliaa $

Все выглядит нормально, но когда яиспользуйте эту команду Symfony:

php app/console doctrine:mapping:import WonderWBundle yml

Это просто говорит:

[PDOException] не удалось найти драйвер

Я нахожусь на Ubuntu 10.10 XAMPPдля Linux 1.7.4!

Кажется, у меня есть все, чтобы заставить Pdo работать хорошо, но не на Symfony 2. Кто-нибудь может помочь?Pleeeaaaassse (я схожу с ума !!)

Большое спасибо: P

(PS: Grrr не может связать мои скриншоты!)

1 Ответ

1 голос
/ 21 сентября 2012

Другая причина может быть связана с самим PHP. Различные дистрибутивы Linux компилируют свои php-cgi/fpm/apache и php-cli для использования различных файлов php.ini (что на самом деле имеет смысл)

Оба ini-файла используют для включения своих файлов конфигурации модулей из подкаталогов. Если вы устанавливаете дополнительный модуль вручную, `phpinfo ()? при просмотре в веб-браузере модуль может отображаться, но программы, выполняемые из командной строки, так же, как приложение / консоль Zend Framework, используют php-cli с другой конфигурацией.

например. для модуля apache

/etc/php/php-apache/php.ini 
/etc/php/php-apache/php.d/pdo_mysql.ini

для командной строки php

/etc/php/php-cli/php.ini

В этом случае вам придется повторить настройку вашего модуля для клиента командной строки

/etc/php/php-cli/php.d/pdo_mysql.ini

Командная строка php также имеет функциональность phpinfo, которую вы можете использовать для проверки вашей установки:

~ # php -i | grep "pdo"
...