0

我的配置比较简单。我有:

  • 运行 API 的服务器。

  • 此服务器连接到单独服务器上的数据库。

  • 我可以使用 Sequel Pro 通过 SSH 从我的 PC 连接到数据库到 API 服务器,然后从那里连接到数据库服务器。

  • 我可以在终端中手动 SSH 到 API 服务器,并使用来自 MYSQL 命令行的相同用户 ID 和密码连接到数据库。

但是,当我的 PHP 脚本尝试 PDO_connect 时,我得到....

PHP Fatal error:  Uncaught exception 'PDOException' with message 'SQLSTATE[42000] [1044] Access denied for user 'validusername'@'%' to database 'live'' in /var/www/live/community/backend/lib/Db/Connection.php:27
Stack trace:

0 /var/www/live/community/backend/lib/Db/Connection.php(27): PDO->__construct('mysql:host=10.2...', 'validusername', 'validPass', Array)

1 /var/www/live/community/backend/lib/Communication/Base.php(57): Changers_Db_Connection->__construct('10.248.174.31', 'live', 'validusername', 'validPass', NULL)\n

2 /var/www/live/factory/index.php(40): Communication_Base->useSourceConnection('10.248.174.31', 'live_licence', 'validusername', 'validPass')

3 {main}\n  thrown in /var/www/live/community/backend/lib/Changers/Db/Connection.php on line 27

使用 memcached 的 Ubuntu 服务器。

我不担心错误的致命性,因为系统继续没有意义。我真的需要了解为什么我可以通过除此之外的所有方法进行连接。

任何建议表示赞赏。

问候克里斯

4

1 回答 1

0

访问仅限于已知 IP 地址。因此,发送 'validuser'@'%' 是不可接受的。所有其他方法发送 'validuser'@'API 服务器 IP 地址',但是 PHP 脚本发送 'validuser'@'%'。我不能 100% 确定是什么修复了它,但最后,我删除了Symfony 2和 PHP 5 并重新安装。

于 2013-07-15T23:07:47.530 回答