> 백엔드 개발 > PHP 튜토리얼 > 打开php.ini文件中的 error_reporting选项导致mysql扩展加载失败

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

WBOY
풀어 주다: 2016-06-06 20:51:03
원래의
1320명이 탐색했습니다.

下载了一个项目的源码,运行时有很多的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
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿