我的配置相对简单。我有:
运行API的服务器。
此服务器连接到单独服务器上的数据库。
我可以使用Sequel Pro通过SSH连接到我的电脑上的数据库 API服务器,然后从中连接到数据库服务器 那里。
我可以在终端中手动SSH到API服务器并连接到 数据库使用与MYSQL命令相同的用户标识和密码 线。
然而,当我的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服务器。
我不担心错误的致命性,因为系统继续是没有意义的。我真的需要理解为什么我可以通过除此之外的所有方法进行连接。
任何建议表示赞赏。
此致 克里斯
答案 0 :(得分:0)
访问仅限于已知的IP地址。因此,发送'validuser'@'%'是不可接受的。所有其他方法都发送'validuser'@'API服务器IP地址',但PHP脚本发送'validuser'@'%'。我不是100%肯定是什么修复它,但最后,我删除了Symfony 2和PHP 5并重新安装。