为了账号安全,请及时绑定邮箱和手机立即绑定

PHP MySQLi 权限被拒绝但在 MySQL CLI 中工作

PHP MySQLi 权限被拒绝但在 MySQL CLI 中工作

PHP
守着星空守着你 2021-11-05 12:44:09
我收到错误Failed to connect to MySQL: Permission denied从 PHP 与 MySQL、MySQLi 和 PDO 连接到远程 MySQL 主机时。但是,如果我连接到同一台主机,并使用相同的凭据通过 MySQL 从同一台主机上的命令行连接,它可以完美运行。所以我假设它是一个 PHP 配置问题?连接发件人PHP 5.6.40 (Client API version => mysqlnd 5.0.11-dev)MySQL 5.5.59连接到PHP 5.6.23 (Client API version => mysqlnd 5.0.11-dev)MySQL 5.5.52任何人都知道为什么我可以从命令行连接到 MySQL 而不能从 PHP 连接到具有完全相同凭据的同一主机?
查看完整描述

1 回答

?
蓝山帝景

TA贡献1843条经验 获得超7个赞

我猜你的服务器上启用了 SELinux。默认情况下,它不允许 apache 进程初始化传出网络连接。

来自https://serverfault.com/a/456875/442205的答案副本

检查 SELinux

sestatus

查看在 httpd 进程上设置了哪些标志

getsebool -a | grep httpd

允许Apache通过SELinux连接远程数据库

setsebool httpd_can_network_connect_db 1

使用 -P 选项使更改永久化。如果没有此选项,则布尔值将在重新启动时重置为 0。

setsebool -P httpd_can_network_connect_db 1


查看完整回答
反对 回复 2021-11-05
  • 1 回答
  • 0 关注
  • 177 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信