【发布时间】:2017-05-01 22:02:35
【问题描述】:
我正在尝试使用以下脚本(cxn-test.php)连接数据库
<?php
$host = '155.30.136.20';//dummy ip
$user = 'abc_user';
$pass = 'xxxxxxxxx';
$dbname = 'welcome';
$link = mysqli_connect($host, $user, $pass,$dbname);
if (!$link) {
echo "Error: Unable to connect to MySQL." . PHP_EOL;
echo "Debugging errno: " . mysqli_connect_errno() . PHP_EOL;
echo "Debugging error: " . mysqli_connect_error() . PHP_EOL;
exit;
}else {
echo "success" . PHP_EOL;
}
当我在终端上尝试时
php cxn-test.php //成功
但是当我在本地主机上尝试时,我收到以下错误,
curl -s http://localhost/cxn-test.php
Error: Unable to connect to MySQL.
Debugging errno: 2002
Debugging error: Permission denied
这是一个奇怪的问题,它不能在 localhost 上运行,但在命令行上运行良好。
【问题讨论】:
-
数据库在哪里?它在 Docker 容器中吗?你试过
mysqli或PDO mysql吗? -
它位于我正在使用 ip 远程连接的另一台服务器中
-
通过命令行访问它时,您是通过 ssh 连接到远程服务器,还是与运行 localhost 的计算机相同?
-
仅限远程服务器