我正在尝试连接到mysql数据库,但由于某种原因,它无法建立连接。我想要完成的是使用Swift从应用程序发送/接收数据并注册用户。 This is the tutorial我经历过的。我得到的错误(当我访问domain.com/script.php时)是:
异常'异常',消息'无法与之建立连接 数据库'在/root/blinddate/MySQLDao.php:21堆栈跟踪:#0 /root/blinddate/script.php(15):MySQLDao-> openConnection()#1 {main}
(script.php需要Connection.php
& MySQLDao.php
个文件。
我怀疑,这是我在Connection.php中使用的输入,但是对我来说一切似乎都很好。
<?php
class Conn {
public static $dbhost = "vps123123.ovh.net";
public static $dbuser = "root";
public static $dbpass = "dbpassword";
public static $dbname = "Test";
}
?>
$ dbhost =我使用
mysql > SHOW VARIABLES WHERE Variable_name = 'hostname';
并且它给了我vps123123.ovh.net
所以我使用了那个。$ dbuser =我使用
mysql > status
并获得Current user: root@localhost
。所以,我使用了root
。$ dbpass =登录mysql时使用的那个。
$ dbname =我想要使用的数据库名称。当我使用
时,我可以看到它mysql > SHOW DATABASES
;
<?php
class MySQLDao {
var $dbhost = null;
var $dbuser = null;
var $dbpass = null;
var $conn = null;
var $dbname = null;
var $result = null;
function __construct() {
$this->dbhost = Conn::$dbhost;
$this->dbuser = Conn::$dbuser;
$this->dbpass = Conn::$dbpass;
$this->dbname = Conn::$dbname;
}
public function openConnection() {
$this->conn = new mysqli($this->dbhost, $this->dbuser, $this->dbpass, $this->dbname);
if (mysqli_connect_errno())
echo new Exception("Could not establish connection with database");
}
//continues
}
?>
<?php
require("Conn.php");
require("MySQLDao.php");
答案 0 :(得分:0)
我相信它是以下之一
1)因为你没有展示你如何使用构造函数以外的类,所以你的类的实例是谁知道状态。
2)外界无法解析为该主机名。在服务器上运行某些东西并不代表远程客户端的方式
3)实际的错误信息会有助于你的错误信息覆盖。
4)my.conf需要调整,bind-address
设置为0.0.0.0而不是localhost或127.0.0.1
#4以上需要mysql守护进程restart
5)为用户授予dbname
6)google mysql skip-networking7)防火墙
8)netstat -tulpen
搜索mysql并查看她是否正在侦听端口3306
答案 1 :(得分:0)
有时root用户不允许与“localhost”以外的主机连接。要允许远程连接,请尝试使用以下
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'
IDENTIFIED BY 'YOUR_PASS'
WITH GRANT OPTION;
FLUSH PRIVILEGES;
这将为其他主机启用root。
还要确保使用正确的主机名。您可以使用此命令获取传入请求列表。
select host from information_schema.processlist;
答案 2 :(得分:0)
我的问题是文件权限。我得到了
GET domain.com/script.php 500 (Internal Server Error)
我插入显示错误以查看确切的错误:
ini_set('display_errors', 1);