symfony报错:Couldn't locate driver named mysql

ding315kaka 2012-05-05 11:01:43
如题,使用symfony1.4,数据模型什么的通过命令行连接数据库都自动生成完毕,期间,没有报错。在运行时(连接数据库查询数据),报错:500 | Internal Server Error | Doctrine_Connection_Exception

Couldn't locate driver named mysql。
恩,php.ini 使用Mysql数据库的配置全打开了。为什么还出错呢?为什么呢???
配置数据库的文件,使用的是databases.yml,

all:
doctrine:
class: sfDoctrineDatabase
param:
dsn: mysql:host=127.0.0.1;dbname=hr_administration
username: root
password:
...全文
233 13 打赏 收藏 举报
写回复
13 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
ding315kaka 2012-05-07
额 解决了。是httpd.conf文件中只有:
LoadModule php5_module "d:/wamp/php/php5apache2_2.dll"
少了以下两行:
AddType application/x-httpd-php .php
PHPIniDir "d:/wamp/php/"
添上就好了。
谢谢dream1206同学的帮忙!
  • 打赏
  • 举报
回复
ding315kaka 2012-05-07
extension_dir = "d:/wamp/php/ext/"
  • 打赏
  • 举报
回复
改一下昵称 2012-05-06
你需要启用pdo_mysql
windows下去掉 pdo_mysql.dll前面的注释,重启服务器。linux下编译时加上 with-pdo-mysql。
如果你已经这么做了,那么看看phpinfo()中的配置是否有生效
  • 打赏
  • 举报
回复
改一下昵称 2012-05-06
看你的情况你使用的是PDO连接数据库,那么你要启用pdo和pdo_mysql,而不是 mysql,mysqli
  • 打赏
  • 举报
回复
ding315kaka 2012-05-06
这是我获得数据库连接的语句:
public function getConnection()
{
return Doctrine_Manager::connection();
}
  • 打赏
  • 举报
回复
ding315kaka 2012-05-06
是在windows环境下,重启了没啥效果。。
  • 打赏
  • 举报
回复
ding315kaka 2012-05-06


MySQL Support

enabled



Active Persistent Links

0



Active Links

0



Client API version

5.0.45





Directive

Local Value

Master Value



mysql.allow_persistent

On

On



mysql.connect_timeout

60

60



mysql.default_host

no value

no value



mysql.default_password

no value

no value



mysql.default_port

no value

no value



mysql.default_socket

no value

no value



mysql.default_user

no value

no value



mysql.max_links

Unlimited

Unlimited



mysql.max_persistent

Unlimited

Unlimited



mysql.trace_mode

Off

Off
是这些么???不是太懂
  • 打赏
  • 举报
回复
改一下昵称 2012-05-06
结合另一个相类似问题的答案,可能是你没有配置好php扩展的路径
php.ini 的 extension_dir
最有效的解决方法还是查看apache或php的错误日志
  • 打赏
  • 举报
回复
ding315kaka 2012-05-06
也重启过了
  • 打赏
  • 举报
回复
ding315kaka 2012-05-06
我是说前面的分号
  • 打赏
  • 举报
回复
ding315kaka 2012-05-06
extension=php_pdo.dll
extension=php_pdo_mysql.dll
extension=php_curl.dll
是不是这几行?以前去掉了。。
  • 打赏
  • 举报
回复
改一下昵称 2012-05-06
我1楼说了 ,复制一段给你

这个是php的扩展

你看一下你php设置的php.ini文件在什么位置

一般是在windows目录下,也可能是在其他地方,这个要看你的php是怎么配置的

你可以自己建立个php文件,然后里面写一句:
echo phpinfo();
找到php.ini的文件位置

然后编辑这个文件
搜索pdo_mysql和curl
一般是:
;extension=pdo_mysql
然后把前面的;去掉,再重启iis或者apache服务器,如果没有错误,就是加载成功了
  • 打赏
  • 举报
回复
ding315kaka 2012-05-06
额 该如何做呢?
  • 打赏
  • 举报
回复
发帖
基础编程
加入

2.1w+

社区成员

从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
申请成为版主
帖子事件
创建了帖子
2012-05-05 11:01
社区公告
暂无公告