我有一个 API,我想将其部署到 OpenShift,一切都可以在本地运行,但是当尝试在线使用它时,我遇到了一些问题。当尝试使用 PDO 连接到数据库时,我收到此错误:
无法连接到数据库:SQLSTATE[HY000] [2002] 连接被拒绝
我已经正确设置了数据库,并且我有正确的连接详细信息(我很确定)。以下是一些代码:
$username = "myuser";
$password = "lmnop";
$host = "127.0.0.1";
$dbname = "loginapi";
$port = "3306";
$db = new PDO("mysql:host={$host};port={$port};dbname={$dbname};charset=utf8", $username, $password, $options);
OpenShift 不允许连接,这可能是什么问题?考虑到这在我的本地机器上运行正常?
谢谢!
答案1
尝试以下每个步骤,清除缓存,刷新并检查
从
$host = "127.0.0.1";
改变到$host = "localhost";
检查默认端口是否为 3306 或其他。检查进程名称和端口
netstat -tln
在 my.cnf 中启用
skip-networking
(注释掉 # )也查看一下
/etc/hosts
,确保那里一切正常另外,
--bind-address
如果设置为 127.0.0.1,服务器仅接受该地址上的连接