欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

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

程序员文章站 2022-03-25 20:01:04
...
下载了一个项目的源码,运行时有很多的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模块,你可以看看代码。

相关标签: php