gpt4 book ai didi

php - 从 Linux 主机连接 Mysql PDO/MySqli

转载 作者:行者123 更新时间:2023-11-29 15:12:07 25 4
gpt4 key购买 nike

我的数据库主机和我的网站主机不相同。

我使用 web.config 或 app.config 文件在 .NET 上创建了一些 Web 应用程序,在其中我可以轻松地为 Web 场的 mysql 数据库上的 mysql 连接设置机器 key 。

这在 .NET 或 Visual studio Web 应用程序上非常简单。

   <system.web>
<machineKey validationKey="C250127840E44F50A34824E348FC089A0DE6C60C3D0CF61A31AB01BCAB6AE3940C82648D2F085B1DECFA5204AD393A5810403DABED73002608AEF7231F29E6CB" decryptionKey="8A86EB63181EDD9439D664ACA990D07302F3280E6F6919B3" validation="SHA1" decryption="AES"/>
</system.web>

但是

我现在正在为 Linux 主机创建一个网站。我使用相同的数据库,并且在测试中再次发现连接正常。但是发布后,mysql连接被拒绝。

我怀疑这又是因为网络农场,但没有证据表明这一点。

我已经在remote-mysql上允许了主机IP。

我检查了Mysql主机上的主机IP没有被阻止。

我已经检查了 mysql 连接的端口。(它在发布之前有效)。

我已经检查了 mysql 用户名的用户权限。

我还给我的 mysql 主机上的支持人员发了邮件,看看他们是否有任何支持。

我已经忍受这个有一段时间了,这令人沮丧。

有没有办法可以在此应用程序上设置机器 key /是否需要?

如果有人建议我可以检查其他任何内容,或者指出我可能缺少的设置,我将非常感激。

下面是我的连接,当我运行应用程序时它确实有效。

发布到主机,连接被拒绝。

<?php

$host = "server IP";
$port = 3306;
$user = "username";
$password = "**********";
$dbname = "mysql.table";

$conn = new mysqli($host, $user, $password, $dbname, $port);

if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}

?>



<?php

$host = 'DB_IP';
$dbname = 'DB_Name';
$dsn = 'mysql:host=DB_IP;dbname=DB_Name';
$username = 'Username';
$password = 'Password';


try {
$conn = new PDO($dsn, $username, $password);
echo "Connected to $dbname at $host successfully.";
} catch (PDOException $pe) {
die("Could not connect to the database $dbname :" . $pe->getMessage());
}

?>

这是我测试代码的时候::

已成功连接到 IPADDRESS 处的 mydb。

这是发布到主机后的::

无法连接到数据库 mydb:SQLSTATE[HY000] [2002] 连接被拒绝

我使用 PDO 和 MySqli 得到相同的结果

如果有人可以帮忙的话。我这几天一直在寻找答案。

最佳答案

你能给我解释一下吗?

什么 Linux 发行版/版本?

您有两到三台服务器吗? (MySQL 服务器、测试服务器和生产服务器?)

您是否检查过 ufw/ip-tables 或您可能安装的其他“防火墙”软件?

您检查过终端的连接吗? (例如 nc -zv 或其他任何内容)

我是新手...我只是想帮忙...

请原谅我的英语

关于php - 从 Linux 主机连接 Mysql PDO/MySqli,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59982592/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com