我目前正在尝试将项目移至实时服务器,但我遇到以下问题
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000] [2002] A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
我知道脚本正在连接到数据库,但它没有提供访问权限并且保持超时,我已经添加了连接到phpmyadmin的权限。
GRANT ALL PRIVILEGES ON `xxxxx`.* TO 'Admin'@'%' WITH GRANT OPTION;
这是我的连接信息:
"Database" => array(
"host" => "xxx.xx.xx.xxx",
"username" => "Admin",
"password" => "xxxxxxxxxx",
"database" => "xxxxx"
),
我知道数据库名称是正确的,因为错误只会说"找不到数据库hopp2"
$dsn = 'mysql:host='.$settings['Database']['host'].';dbname='.$settings['Database']['database'];
$pdo = new PDO($dsn,$settings['Database']['username'],$settings['Database']['password']);
任何帮助都不仅仅是感谢,如果这是一件简单的事情,我很抱歉,因为我正在为这个项目制定一个非常紧迫的时间表
User name Host name Password Global privileges User group Grant Action
Admin % Yes ALL PRIVILEGES Yes Edit privileges Edit privileges Export Export
答案 0 :(得分:0)
这对我来说感觉像是防火墙问题。你有没有检查过你是否可以连接MySQL服务器(不使用PHP)?:
尝试连接telnet,测试连接:
telnet IP 3306
您至少应该获得连接(无需登录)。如果这不起作用,请尝试确定服务器是否在3306接受连接,但无法响应,这意味着正在阻止传出流量。