php - 仅在通过 Apache2 连接时远程 MySqli 连接超时

标签 php mysql ubuntu mysqli mariadb

我在 上遇到问题Ubuntu 18.04 Apache EC2 机器/服务器 - 172.2.27.1 mysqli 没有连接到 MariaDB 服务器 - 172.2.27.2 (远程 mysqli 服务器),但它通过 localhost 连接(因为当前 172.2.27.1 机器上也安装了 MariaDB),与 172.2.27.2 的远程连接也是通过 建立的终端 :mysql -h 172.2.27.2 -u test -p (在 172.2.27.1 机器上)
无法理解它的确切问题是什么。我已尝试调试所有可能的位置,但找不到任何位置。
与 Apache 连接时出现错误:

Object
(
    [affected_rows] => 
    [client_info] => 
    [client_version] => 50012
    [connect_errno] => 2002
    [connect_error] => Connection timed out
    [errno] => 
    [error] => 
    [error_list] => 
    [field_count] => 
    [host_info] => 
    [info] => 
    [insert_id] => 
    [server_info] => 
    [server_version] => 
    [stat] => 
    [sqlstate] => 
    [protocol_version] => 
    [thread_id] => 
    [warning_count] => 
)
PS:Machine 和 EC2 实例上都没有防火墙规则问题。我已经检查过了。连接到 Internet 上的远程 MariaDB 服务器的所有可用代码都给出了相同的结果。它不是代码问题,可能是一些 apache 扩展问题或 PHP 问题。服务器 172.2.27.1 无法连接到 Internet 上的任何其他 MariaDB 服务器。它只适用于本地主机,而不适用于其他任何东西。

最佳答案

很可能防火墙规则阻止了您的连接:(连接超时)
查看 Security groups分配给 Mysql/MariaDB 实例,并确保 Mysql port (3306)在 MariaDB 设置中正确允许接受 inbound来自 172.2.27.2 的连接具体来说,或者来自整个子网。

关于php - 仅在通过 Apache2 连接时远程 MySqli 连接超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63975567/

相关文章:

php - 在 laravel 中保存表单数据

php - 如何在执行 ON DUPLICATE KEY 时保留数据?

php - 我可以在 `mysqli_error` 之后在 `or` 上执行函数吗?

mysql - 基于 session 计数器配对事件并在 mySQL 中查找时间增量

laravel - 公共(public)文件夹不适用于 Mix 和 Asset Laravel Helpers Ubuntu 21.04

php - 带有 php 问题的代号一推送通知

php - 只读mysql数据库

用于对评论及其嵌套回复进行排序的 MySQL 查询

python - 将系统 python 安装的 sys.path 附加到我的个人 python 安装中

php - 构建 PHP 扩展后在 Ubuntu 中删除开发包是否安全?