如何在 Symfony 2.0 中使用 Linux Xampp mysql_pdo
Posted
技术标签:
【中文标题】如何在 Symfony 2.0 中使用 Linux Xampp mysql_pdo【英文标题】:How to use Linux Xampp mysql_pdo with Symfony 2.0 【发布时间】:2011-10-08 19:16:07 【问题描述】:我遇到了一个严重的问题。 我想在我的 Symfony 2 项目上使用 Doctrine 2。
我已经从 app/console 更改了 php 路径:
/opt/lampp/bin php
我已经在 /opt/lampp/etc/php.ini 中为我的 mysql_pdo 指定了好的路径
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 for Linux 1.7.4 !
似乎我已经做好了让 Pdo 正常工作的一切,但在 Symfony 2 上却没有。 有人可以帮忙吗? Pleeeaaaassse(我要疯了!!)
非常感谢:P
(PS:Grrr 无法链接我的截图!)
【问题讨论】:
我有答案了!好的,一件棘手的事情!我的第一步是好的!你可以在那里关注它>>antoine.goutenoir.com/blog/2011/02/12/… 【参考方案1】:另一个原因可能与 PHP 本身有关。
各种Linux发行版编译他们的php-cgi/fpm/apache
和php-cli
以使用不同的php.ini
文件(这实际上是有道理的)
两个 ini 文件都用于将其模块配置文件包含在子目录中。 如果您手动安装附加模块,`phpinfo()?在 Web 浏览器中查看可能会显示该模块,但在命令行上执行的程序,就像 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
功能,您可以使用它来验证您的 cli 安装:
~ # php -i | grep "pdo"
【讨论】:
以上是关于如何在 Symfony 2.0 中使用 Linux Xampp mysql_pdo的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Symfony 2.0 AJAX 应用程序中将 Doctrine 实体编码为 JSON?