如何在 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/apachephp-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?

学习symfony 1.4会好用symfony 2.0吗?

Symfony 2.0 在实体内部获取服务

symfony 2.0 有多稳定或不稳定? [关闭]

根据 symfony 2.0 中的路由自定义 403 错误页面

SonataUserBundle 和 Symfony 3.4