【问题标题】:PHP & MySQLi timeoutPHP & MySQLi 超时
【发布时间】:2011-02-25 10:44:44
【问题描述】:

每当我尝试创建一个 mysqli 对象时,例如;

$mysqli = new mysqli(host, user, pass, database);

...页面只加载大约一分钟,然后停止,显示页面的所有内容直到该行。

info() 表示 MySQLi(如果重要,还有 MySQL)已启用,我可以访问 MySQL CLI。我也在本地机器上工作,而不是远程服务器。

我觉得我错过了一些明显的东西。谁能解释一下?

编辑:只是为了澄清,我实际上是把真实值放入 mysqli 构造函数中:)

【问题讨论】:

    标签: php mysql timeout mysqli


    【解决方案1】:

    constructor 的第四个参数应该是数据库,而不是表。

    $mysqli = new mysqli($host, $user, $pass, $database);
    

    您可能还想尝试显示错误消息:

    if (mysqli_connect_errno()) {
       die("MySQL Connect Error: " . mysqli_connect_error());
    } 
    

    一个可能的问题是如果 MySQL 没有使用默认端口。您可以在 mysqli 构造函数中添加端口号作为可选参数。

    【讨论】:

    • 对不起,我的意思是数据库名称。我已尝试将错误消息代码放入,但没有任何反应。
    • @Dt7: 你用什么字符串作为主机名?
    • localhost.... 如果值得一提,该代码在我上次安装时运行良好。我最近刚刚更换了硬盘并重新安装了所有东西,但现在它无法正常工作。
    • @Dt7: 你能尝试从命令行运行netstat -a,看看TCP 127.0.0.1:3306是否有LISTENING状态的连接?
    【解决方案2】:

    必须更改 Windows hosts file(取消注释 localhost 行)。

    【讨论】:

      【解决方案3】:

      在我身上发生了一件非常愚蠢的事情:

      我有一个防火墙阻止了我的数据库连接。所以防火墙 阻塞端口会导致脚本超时。

      希望这对某人有所帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-01-04
        • 2015-01-03
        • 1970-01-01
        • 1970-01-01
        • 2018-12-21
        • 2016-02-26
        • 2010-11-07
        • 1970-01-01
        相关资源
        最近更新 更多