问题描述
- PHP配置问题(mysql_connect)报错
-
之前因为比较懒,就装了PHPnow,PHP版本是5.2,最近因为要学thinkPHP框架,由于用的是thinkPHP3.2,需要PHP5.3以上版本才能跑起来,就手动更新了PHP版本,更新到了5.3.5,并按照正常步骤配置了php.ini文件,打开了(extension_dir = "ext"
extension=php_mysql.dll;
extension=php_mysqli.dll;)等模块,重启Apache,运行了一下之前写的练手项目,但只要和数据库连接有关的,都报了如下这个错误(Fatal error: Call to undefined function mysql_connect() in E:phphtdocswangshangshudianlogin.php on line 7),但是我都把php.ini相应和MySQL有关的模块都打开了,怎么还是这个问题呢,我就郁闷了,望各位大神帮忙看下是哪出错了,并且thinkPHP也出现了如下错误::(
系统不支持:mysql
错误位置
FILE: E:phphtdocsdemoThinkPHPLibraryThinkDbDriverMysql.class.php LINE: 27
TRACE
#0 E:phphtdocsdemoThinkPHPLibraryThinkDbDriverMysql.class.php(27): E('???????????????...')
#1 E:phphtdocsdemoThinkPHPLibraryThinkDb.class.php(90): ThinkDbDriverMysql->construct(Array)
#2 E:phphtdocsdemoThinkPHPLibraryThinkDb.class.php(65): ThinkDb->factory('')
#3 E:phphtdocsdemoThinkPHPLibraryThinkModel.class.php(1287): ThinkDb::getInstance('')
#4 E:phphtdocsdemoThinkPHPLibraryThinkModel.class.php(95): ThinkModel->db(0, '', true)
#5 E:phphtdocsdemoThinkPHPCommonfunctions.php(554): ThinkModel->construct('user', '', '')
#6 E:phphtdocsdemoApplicationHomeControllerDBController.class.php(6): M('user')
#7 [internal function]: HomeControllerDBController->index()
#8 E:phphtdocsdemoThinkPHPLibraryThinkApp.class.php(155): ReflectionMethod->invoke(Object(HomeControllerDBController))
#9 E:phphtdocsdemoThinkPHPLibraryThinkApp.class.php(193): ThinkApp::exec()
#10 E:phphtdocsdemoThinkPHPLibraryThinkThink.class.php(120): ThinkApp::run()
#11 E:phphtdocsdemoThinkPHPThinkPHP.php(96): ThinkThink::start()
#12 E:phphtdocsdemoindex.php(24): require('E:phphtdocsd...')
#13 {main}
解决方案
重新重头再看了一遍安装的过程,自己发现了两处配置错误:
1.忘记将libmysql.dll至windows目录下的system32下
2.(最重要的错误)由于更新PHP版本之后,忘记修改了Apache文件下的conf下的http.conf中的PHPINDir "../", 将其PHPINDir的目录修改为更新后的PHP的版本目录,再重启Apache后,原来出现的这个错误(Fatal error: Call to undefined function mysql_connect() in E:phphtdocswangshangshudianlogin.php on line 7)不在出现了,连接MySQL数据库正常
时间: 2024-10-26 17:41:58