打开php.ini文件中的 error_reporting选项导致mysql扩展加载失败
和 Production Value: E_ALL & ~E_DEPRECATED也是同样加载不了数据库模块。全都关闭的话就可以,不知各位有没有遇到过这个问题,求解~!
回复内容:
下载了一个项目的源码,运行时有很多的Notice级别的错误,于是在php.ini文件中的开启了error_reporting下的Default Value: E_ALL & ~E_NOTICE,但是发现,开启后会导致 Call to undefined function mysql_connect() 错误,连接不上数据库。开启 Development Value: E_ALL | E_STRICT
和 Production Value: E_ALL & ~E_DEPRECATED也是同样加载不了数据库模块。全都关闭的话就可以,不知各位有没有遇到过这个问题,求解~!
你这个错误跟error_reporting
选项没多大关系,只是你关闭了这个选项后它就不显示错误了,但是错误还是存在的,只是没显示出来。
从错误来看很明显是你的mysql扩展没装上,需要注意的是现在的php默认是没有装mysql扩展的了。如果你是windows,可以在php.ini里找到
;extension=php_mysql.dll
把前面的分号去掉即可,如果你是用的ubuntu,而且你的php是用的apt-get
安装的,那么可以在终端中输入
sudo apt-get install php-mysql
来安装mysql扩展。如果你是用的其它linux发行版,需要自己重新编译php,并在configure的时候加上--with-mysql=mysqlnd
不知道你下载的是什么源码,我有一次看个源码,也是这个错误,原因是他用的是PDO的方式加载的数据库,但是我没有开启PDO模块,你可以看看代码。
下一篇: Python过滤列表用法示例详解