当 mysql_connect 不适用于 IIS 上的 PHP 时,不会返回任何错误消息

2024-05-04

我是 PHP 和 MySQL 的新手,最近在已经运行 IIS v6 的 Windows Server 2003 服务器上安装了 PHP v5.3.10 和 MySQL v 5.5.21。

PHP 运行,我已经从 MySQL 5.5 命令行客户端在 MySQL 上创建了一个数据库。 但是,当我尝试使用以下命令从 PHP 访问数据库时:

echo "Open database";
$link = mysql_connect($host, $username, $password);
echo " link: $link";
if (!$link) {
    die('Could not connect: ' . mysql_error());
}
mysql_select_db($db_name, $link)or die("cannot select DB");

echo " database open";

我得到以下返回到网页:

Open database

没有产生任何错误消息,并且在 mysql_connect 命令返回后没有任何内容 PHP 到屏幕上。

还尝试了下面的行,也没有返回任何错误消息:

mysql_connect($host, $username, $password) or die('Cannot connect:' . mysql_error());

有人知道为什么我无法建立连接并且无法从 mysql_connect 命令返回错误消息吗?

我检查了 MySQL,并尝试将主机定义为 %、localhost、本地主机 IP 和 IP:端口号(来自 my.ini 中列出的端口号 3306),但没有效果。 我在 mySQL 中只创建了一个用户名“root”,并使用一个密码(当我打开 MySQL 创建数据库时使用该密码)

我已将“php.ini”放置在“C:\Program Files\PHP”和“C:\WINDOWS”中。
该文件包含 'extension_dir = "C:\Program Files\PHP\ext"' 来指定扩展目录,并在文件末尾包含以下内容:

[PHP_PDO_MYSQL]

extension=php_pdo_mysql.dll

[PHP_MYSQL]

extension=php_mysql.dll

[PHP_MYSQL]

extension=php_mysqli.dll

我还尝试运行 phpinfo() ,它返回了 mysqlnd 的下表:

mysqlnd                enabled 
Version                mysqlnd 5.0.8-dev - 20102224 - $Revision: 321634 $  
Compression            supported  
SSL                    supported  
Command buffer         size  4096  
Read buffer            size  32768  
Read timeout           31536000  
Collecting statistics  Yes  
Collecting memory statistics  No  
Tracing                       n/a  

所以我假设 php 应该能够连接。


尝试这个:

ini_set('display_errors',1);
error_reporting(E_ALL);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

当 mysql_connect 不适用于 IIS 上的 PHP 时,不会返回任何错误消息 的相关文章

随机推荐