【问题标题】:My page is taking a long time to load and I can't get into it我的页面需要很长时间才能加载,我无法进入
【发布时间】:2013-04-05 13:02:37
【问题描述】:

我在 20 分钟前问过这个问题,但是当我插入代码时,网站需要很长时间才能加载。 10 分钟后,我收到以下错误消息:

Warning: mysql_connect(): MySQL server has gone away in C:\xampp\htdocs\ShareLife\inc\scripts\mysql_connect.inc.php on line 11  

Warning: mysql_connect(): Error while reading greeting packet. PID=2252 in C:\xampp\htdocs\ShareLife\inc\scripts\mysql_connect.inc.php on line 11  

Warning: mysql_connect(): MySQL server has gone away in C:\xampp\htdocs\ShareLife\inc\scripts\mysql_connect.inc.php on line 11  

Fatal error: Maximum execution time of 30 seconds exceeded in C:\xampp\htdocs\ShareLife\inc\scripts\mysql_connect.inc.php on line 11

使用以下代码:

<?php
$conn_error = 'Colud not connect.';

$mysql_host = "localhost:8080";
$mysql_user = "liam";
$mysql_pass = "";

$mysql_db = 'socialnetwork';


mysql_connect($mysql_host, $mysql_user, $mysql_pass) or die("Couldn't Connect") ;
mysql_select_db('mysql_db') or die($conn_error);

echo 'Connected!';
?>

【问题讨论】:

  • 您确定 8080 是您的 mysql 服务器的正确端口吗?这对于 mysql 来说是一个相当不寻常的端口。
  • 不确定它有多相关,但您的错误消息表明您正在使用已弃用的 mysql_* 扩展。请参阅 this question 以了解如何使用新的 mysqliPDO 扩展。
  • @ajp15243 他们的错误信息?只需查看代码 c.c, 1+ 就可以看出这一点。
  • @Daedalus 是的,后来我注意到了,在看到最后两行在mysql_ 前面没有$ 之后。
  • 请勿重复发布。他们只会分散人们的答案并增加每个人必须做的工作量。只需编辑您的问题或发表评论。

标签: php html


【解决方案1】:

Windows 使用 TCP/IP,它使用 localhost 来获得更好的性能,因为它的开销更少。

$mysql_host = "localhost";

Unix 系统使用Unix Domain Socket

$mysql_host = '127.0.0.1';

但是 apache 使用 TCP/IP 或 Unix Domain Socket 连接到 PHP。所以任何一种方式都应该有效。

【讨论】:

  • 第二个示例中的 IP 地址应该在引号内,否则 PHP 将尝试连接数字; $mysql_host = '127.0.0.1'; 请通过edit 链接修改您的答案。此外,可以通过添加一些解释来改进您的答案,以便 OP 可以从中学到一些东西。
【解决方案2】:

您正在使用字符串作为变量:

mysql_select_db('mysql_db') or die($conn_error);

应该是:

mysql_select_db($mysql_db) or die($conn_error);

应该是×2

// make your db the current db http://php.net/manual/en/function.mysql-select-db.php
$db_selected = mysql_select_db($mysql_db);
if (!$db_selected) {
    die ("Can\'t use $mysql_db : " . mysql_error());
}

但真的应该是(使用 PDO,更改所有代码):

    try {
        $DB= new PDO('mysql:host=localhost;dbname=socialnetwork', 'liam', '');
    } catch (PDOException $e) {
        print "Error!: " . $e->getMessage() . "<br/>";
        die();
    }

【讨论】:

  • 工作但留下一个错误解析错误:语法错误,意外'')或死亡($conn_error); ' (T_CONSTANT_ENCAPSED_STRING) 在 C:\xampp\htdocs\ShareLife\inc\scripts\mysql_connect.inc.php 第 12 行
  • 您应该声明它是您的扩展的不同扩展。因为事实上,您为他们当前使用的内容提供了错误的答案。
猜你喜欢
  • 2014-08-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-24
  • 1970-01-01
  • 1970-01-01
  • 2021-07-19
  • 1970-01-01
相关资源
最近更新 更多