2011-03-03 46 views
6

致命错误:在C:\ Apache \ htdocs \ test.php上调用未定义的函数mysql_connect 2致命错误:致电第2行的C: Apache htdocs test.php中的未定义函数mysql_connect()

我已经花了11个小时,试图摆脱这个ONE问题。

我已经安装: MySQL 5.1中 的Apache 2.2.14 PHP 5.2.17

这些都是在书中 “PHP和MySQL” 中提到的版本。

当我运行该脚本:

<?php 
mysql_connect ('localhost', 'root', 'password'); 
?> 

其中localhost,root,密码是真正的价值为这个特定的测试 系统和所有我看到的是:

致命错误:调用未定义第2行的C:\ Apache \ htdocs \ test.php中的函数mysql_connect()

回答

18

取消注释“php.ini”文件中的行extension=php_mysql.dll并重新启动Apache。

此外,“libmysql.dll”文件必须可用于Apache,即它必须在Windows系统PATH或Apache工作目录中可用。

查看更多关于在manual中安装MySQL扩展的信息。

P.S.我建议将MySQL扩展视为弃用,并使用MySQLi甚至PDO来处理数据库(我更喜欢PDO)。

+2

使用' phpinfo()'找出哪个php.ini是正确的。 – 2011-03-03 10:38:45

+0

哪个php.ini是正确的分钟? – user389055 2011-03-03 10:41:21

+0

“在你的php.ini中取消注释line extension = php_mysql.dll并重新启动Apache”我做了这个准备 – user389055 2011-03-03 10:42:57

3

我有类似的问题。在经过多次尝试遵循论坛中的建议后,我通过以下方式解决了这个问题。我正在重新发布解决方案,因为它可能对其他人有所帮助。

我运行Windows 7(Apache 2.2的& PHP 5.2.17 & MySQL的5.0.51a),文件 “的httpd.conf”(C的语法:\程序文件(x86)\ Apache软件基金会\ Apache2的。 2 \ conf \ httpd.conf)对斜杠敏感。 您可以检查是否从正确的目录中读取“php.ini”。只需输入您的浏览器“localhost/index.php”。 index.php文件的代码如下:

<?php echo phpinfo(); ?>

有一个称为“加载的配置文件”的行(不远处的顶部)。因此,如果没有添加任何内容,那么问题可能是您的“php.ini”不被读取,即使您取消注释(extension = php_mysql.dll和extension = php_mysqli.dll)。所以,为了使它工作,我做了以下步骤。我需要从

PHPIniDir 'c:\PHP\'

改变

PHPIniDir 'c:\PHP'

支付的最后一个斜线一切不安的关注!

现在刷新“localhost/index.php”后(重新启动Apache2之前)“加载的配置文件”行得到“C:\ PHP \ php.ini”2)以及mysql块在那里。 MySQL和PHP一起工作!

-5

我有同样的问题,下面用这个代码和它的工作:

​​3210
0

$db['default']['dbdriver'] = 'mysql'; 

database.php中更改文件以

$db['default']['dbdriver'] = 'mysqli'; 
相关问题