Heim  >  Artikel  >  php教程  >  undefined function mysql_connect

undefined function mysql_connect

WBOY
WBOYOriginal
2016-05-25 12:57:291317Durchsuche

在 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,问题解决.

永久链接:

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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn