0

我有一个 Apache 服务器,它连接到 MySQL 数据库服务器。我收到很多错误消息说:

PHP 警告:mysqli::mysqli(): (HY000/2003): 无法连接到“10.0.0.13”上的 MySQL 服务器

但大多数时候,连接没有问题,而且我能够毫无问题地连接telnet 10.0.0.13 3306。我如何找出问题所在?

源码是php脚本,大部分时间运行没有任何问题。这是我的连接方式:

error_reporting(E_ALL ^ E_NOTICE);
ini_set('display_errors','On');
date_default_timezone_set ('Europe/Copenhagen');
Header('Content-type: text/xml');
$conn = new mysqli('10.0.0.13','webuser', 'xxxxxx', "np_indexes");

有什么建议么?

此连接是否正确关闭?

$sql = "call spGetOrderDepthBySymbol('$stock', 0)";
    $result = $conn->query($sql);
    while($row = $result->fetch_assoc()) { ?>
        <row>
            <type static="true"></type>
            <shares flash="true"><?= $row['shares']<>"" ? number_format($row['shares'], 0, ',', '.') : '-' ?></shares>
            <price flash="true"><?= $row['price']<>"" ? number_format($row['price'], 2, ',', '.') : '-' ?></price>
        </row>
    <? }
    ?>
    <spacer static="true"></spacer>
    <? 
    $conn->next_result();
    $sql = "call spGetOrderDepthBySymbol('$stock', 1)";
    $result = $conn->query($sql);
    while($row = $result->fetch_assoc()) { ?>
        <row>
            <type static="true"></type>
            <shares flash="true"><?= $row['shares']<>"" ? number_format($row['shares'], 0, ',', '.') : '-' ?></shares>
            <price flash="true"><?= $row['price']<>"" ? number_format($row['price'], 2, ',', '.') : '-' ?></price>
        </row>
    <? } 
    mysql_close($result);
    ?>
4

2 回答 2

0

也许这就是你的情况。看这里

解决方案说:login as root and do setsebool -P httpd_can_network_connect=1

于 2013-05-08T13:02:36.067 回答
0

如果您的 MySQL 服务器在 Windows 上运行 - 请阅读本节:http ://dev.mysql.com/doc/refman/5.1/en/can-not-connect-to-server.html#can-not-connect-to- Windows 上的服务器

于 2013-05-08T12:45:44.753 回答