2017-06-29 76 views
0

目前,我试图测试从一台机器到另一台机器到数据库的连接。一台机器安装了MySQL,并且已经建立并运行了一个数据库,并且我希望在PHP中使用mysqli连接另一台机器。两台机器都是Ubuntu,我使用PHP 5.6。我安装了MySQL客户端我想用来连接到数据库的计算机上,当我尝试使用下面的代码连接到数据库在PHP中:如何配置MySQLi以识别PHP中的mysqli命令?

<?php 
    $mysqli = new mysqli('hostname', 'username', 'password', 'dbname'); 

    if($mysqli->connect_errno) { 
      echo "Failed to connect to MySQL database."; 
      exit(); 
    } 
?> 

是错误的,并显示出“此页面不能正常工作”的错误页面,其中包含HTTP 500错误我已经试过如下:

命令和apt-get安装PHP-mysqli的(GOT,它被安装在标准版的消息,我想这是因为我安装了mysql客户端)

phpenmod mysqli(这并没有改变任何东西)

我不知道还有什么我应该尝试。我相信我已经安装了PHP 5.6和PHP 7.1,这会导致一个问题?您可以推荐哪些步骤来排除故障并解决mysqli无法正常工作的问题?

+0

检查您的服务器的error.log文件。它会给你更多的信息是什么问题 – Oluwaseye

回答

0

首先,我会看看您尝试连接的计算机上的错误日志。 500错误应该有一些解释。

其次,我相信你需要在你连接的机器上安装mysqlnd PHP扩展。托管数据库的机器就是这样做的。所以,你不必担心在那里安装PHP。

+0

我检查了错误日志,我得到了错误: 'PHP致命错误:Class'mysqli'在第二行/srv/www/crm/test.php找不到' 关于如何使它找到类的任何想法?我试图安装mysqlnd扩展名,我得到了以下错误: '请注意,选择'php5.6-mysql'而不是'php5.6-mysqlnd' php5.6-mysql已经是最新版本.' – AndreasKralj

+0

我会卸载php5.6-mysql,然后安装php5.6-mysqlnd。由于缺少扩展名,mysqli不存在。 –

+0

感谢您的回复。不幸的是,当我试图安装php5.6-mysqlnd时,它会自动安装php5.6-mysql。我做了'apt-get purge php5.6-mysql',然后'apt-get install php5.6-mysqlnd',但是在安装过程中,其中一行是:'Note,选择'php5.6-mysql'的'php5.6-mysqlnd'',不幸的。你知道如何让它停止自动安装mysql版本吗? – AndreasKralj