首页 >php教程 >php手册 >undefined function mysql_connect

undefined function mysql_connect

WBOY
WBOY原创
2016-05-25 12:57:291368浏览

在 windows 下安装 php 时,为了避免配置文件混乱,将安装目录下的 php.ini 复制到 windows 目录下之后,应该将原来安装目录下的 php.ini 文件重命名或删除,以免造成在不同环境下执行时,查找配置文件不一致的情况发生.

fatal error: undefined function mysql_connect() 

环境:windows 2003, php 5.2.0, mysql 5.0, apache 2.0 

在 php.ini 中,已经将 php_mysql.dll 的模块选项给打开了,测试的脚本也很简单,就一个 mysql_conect 函数,内容如下:

php.ini:extension=php_mysql.dll 

测试脚本 test.php 内容如下:

<?php 
	if ( !mysql_connect(dbhost, dbuser,dbpwd) )  
	{
	    echo "连接失败!";  
	    exit;  
	}  
	echo "连接成功!t";  
	

用 web 方式调用 http://localhost/test.php,执行正常,显示"连接成功". 

但用 dos command 命令行的方式调用 d:/php/php.exe test.php 却显示连接失败,错误信息为:fatal error:undefined function mysql_connect() 

很显然,在 dos command 命令行的环境下,mysql 的模块没有被调用,方法弄尽,仍无法解决,百思不得其解,后来,用写了个脚本,看看 php 的配置,在两个环境下有什么不同,代码如下:

仔细查看两个环境下 phpinfo() 输入的 php 配置信息,终于发现了问题所在:

web 方式 http://localhost/test.php 方式调用时, 其 configuration file (php.ini) path 显示为 c:windowsphp.ini。 

dos command 命令行方式 d:/php/php.exe test.php 调用时, 其 configuration file (php.ini) path 为 d:phpphp.ini。 

而在 c:windows 和 d:php 目录下,都存在一个 php.ini 文件,d:php 目录下的 php.ini 没有将 extension=php_mysql.dll 模块打开,于是将 d:phpphp.ini 删除,只保留 c:windowsphp.ini,问题解决.

永久链接:

转载随意!带上文章地址吧。

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