PHP8.1.21版本已发布
vue8.1.21版本已发布
jquery8.1.21版本已发布

打开php.ini文件中的 error_reporting选项导致mysql扩展加载失败

原创
2016-06-06 20:51:03 1033浏览

下载了一个项目的源码,运行时有很多的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也是同样加载不了数据库模块。全都关闭的话就可以,不知各位有没有遇到过这个问题,求解~!

回复内容:

下载了一个项目的源码,运行时有很多的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模块,你可以看看代码。

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。