2011-03-25 35 views
0

我刚开始尝试建立一个服务器/网站,并遇到可能是一个非常基本的问题。当我尝试使用php脚本连接到已安装的mysql服务器时,出现空白屏幕;例如php无法看到本地mysql服务器

<html> 
<body> 
<script src="http://protovis-js.googlecode.com/svn/trunk/protovis-r3.1.js" type="text/javascript"></script> 

<?php 
echo "Connecting..." 
$user="root"; 
$password="passwd"; 
$server="127.0.0.1"; 
mysql_connect($server,$user,$password); 
echo "Connected."; 

?> 
</body></html> 

显示“正在连接...”,但从未达到“已连接”。代码或数据库没有问题,因为这在Aptana 2.05的浏览器中工作(从卸载开始)。它不适用于Firefox或Chrome。 Aptana使用了PHP的不同版本(5.2版本);从Chrome/Firefox访问的phpinfo()为5.3。 php.ini文件包含extension = mysql.so;否则我不知道设置是否正确。我看过的教程并没有真正涵盖这类事情......任何人都知道该怎么做?

+0

mysql_connect在失败时返回false,所以如果你这样做:“$ cn = mysql_connect($ server,$ user,$ password);”您可以检查$ cn的值以查看连接是否实际进行。 – jlmcdonald 2011-03-25 03:30:35

+0

你在端口3306上运行它吗?如果不是默认端口 – Jason 2011-03-25 03:32:25

+0

@jlmcdonald,则需要在服务器“server:port”上指定端口号,它会在mysql_connect调用上崩溃 - 按照您的建议仍然没有产生任何东西,解释器永远不会到达回声/打印语句。 – 2011-03-25 03:36:38

回答

0

哈!只是没有安装php5-mysql软件包。显然,使用php和mysql本身是不够的。安装php5-mysql,连接工作。

1

您使用的浏览器与运行在服务器上的php脚本是否连接到数据库无关。

我建议检查服务器日志,或添加一些代码来实际检查,看看是怎么回事:

$link = mysql_connect($server,$user,$password); 
if (!$link) { 
    die('Could not connect: ' . mysql_error()); 
} 
+0

感谢您的建议,但正如我指出解释器崩溃在基于脚本内部诊断的任何报告错误状态之前。服务器日志不显示任何事务。 – 2011-03-25 04:10:06

0

你的MySQL实例可以配置为不响应为localhost。有两种方式连接到MySQL服务器。通过网络连接(ip和端口)或套接字连接,只能在正在使用的机器上工作。您的MySQL服务器可能配置为侦听套接字连接,但不侦听网络。

  1. 尝试使用mysql命令行工具作为连接“的mysql -h 127.0.0.1 -uroot -ppassword mysql的”
  2. 尝试在命令行,而不是浏览器中运行你的PHP脚本。
相关问题