请各位XDJM帮忙看看这个问题,一解决立马给分,谢谢!软件配置:Apache 2.2.15, php 5.3.3, mysql 5.1, windows 7问题描述:直接从命令行访问mysql是完全可以的,但是我用php却无法访问。所用的php代码如下:
<?php
echo "i am gonna do something";    $conn = mysql_connect("localhost", "test", "test");
if (! $conn){
die("could not connect:" . mysql_error());
}
echo 'connected to mysql!';mysql_close($conn);
?> 执行结果:
The website cannot display the page    HTTP 500  
   Most likely causes:
•The website is under maintenance.
•The website has a programming error.
 
   What you can try: 
     Refresh the page. 
     Go back to the previous page. 
提问:
我试过只有一句echo "i am gonna do something"; 是可以无误执行的,所以apache + php是能正常工作的。
直接从命令行进入mysql是可以的,所以mysql是能正常工作的。
从代码看,如果php真的执行了mysql_conn(...)语句,那么,无论成功与否,都该有东西显示才对。为什么会出现现在这样的结果呢?我是有什么该配置的没有配置吗?请大侠们帮忙啊,谢谢,谢谢!

解决方案 »

  1.   

    看一下你的php的错误日志吧。
      

  2.   

    php需要加载mysql模块,参见
    http://www.php.net/manual/en/mysql.installation.php
      

  3.   

    只执行这句
    <?php
    mysql_connect("localhost", "test", "test");
    ?>
      

  4.   

    你真正的详细错误都没出来,就出来了个500错误。但你的错误应该是php+mysql的配置问题
      

  5.   

    谢谢回复,不过我的php已经加载了mysql,如下:
    [PHP_MYSQL]
    extension=php_mysql.dll
    [PHP_MYSQLI]
    extension=php_mysqli.dll
    此外,php路径也已经加在PATH里了
      

  6.   

    我也怀疑是,可是实在是找不出来哪里有问题了。
    php.ini我已经改过了啊
      

  7.   

    Apache安装目录下的log\error.log,看看里面的错误信息是什么。
      

  8.   

    很明显没找到你的server name,所以连接超时了。检查一下connect的servername有没有搞错,最好用127.0.0.1先试试。如果设的端口不是默认端口,就加上端口号再连连看。
      

  9.   

    我用了127.0.0.1试,的确是可以的。可是我就奇怪了,为什么localhost不行呢?localhost不就是127.0.0.1吗?另外,在错误日志里有如下记录:
    [Sun Jul 25 09:36:58 2010] [warn] module php5_module is already loaded, skipping
    httpd.exe: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName列出来,仅供大家参考,以防以后有人出现同样的错误。谢谢大家啦!本帖先结,如果有人知道为什么非要用127.0.0.1的话,可否在此解答?我另外给分,谢谢!!!