昨天突然业务的官网和微信web服务打不开了,提示:
SQLSTATE[HY000][2005] Unknown MYSQL server host ‘xxx.mysql.rds.aliyuncs.com’(2)
写了个phpinfo()查看了下PDO和PDO_MYSQL,然后extension_loaded()也是一切正常。
手动访问了下RDS,正常;在ECS上ping了RDS域名,有回应;找不到原因就发了工单(屁用没有= =)。
![]()
后来发现把rds域名对应的ip填入DB配置文件,就可以访问了。
原本天真的以为问题解决了,几分钟又收到了消息,说微信web服务无法正常使用。
打开 微信开发者工具 访问了下,发现JSSDK签名没有成功。因为JSSDK签名是调用远程的API域名获取的,所以一瞬间发觉是不是现在PHP无法访问任何域名,然后写了一个测试页运行下我的猜想:
1 2 3
| <?php echo file_get_content('http://www.baidu.com');
|
把这段报错复制到网上搜索了下,建议重启PHP-FPM。
重启之后,问题解决。
后记:写了这么久的PHP第一次遇到这种问题,我猜测是阿里云内部DNS异常导致的问题。