如何使用Synology从php页面连接到mysql服务器?

时间:2017-08-16 07:15:37

标签: php mysql phpmyadmin mariadb synology

我有一个较旧的Synology设备(DSM v5.2-5967 Update 4,phpmyadmin v4.4.7-0103),其中有一些本地网站有工作的php页面。我想将其迁移到我的新Synology设备(DSM V6.1.3-15152 Update 1,phpmyadmin v4.6.6-0172)。从Package Center安装新版本的phpmyadmin时,我也需要下载Maria DB和PHP 5.6,而这在DSM 5中不是必需的。此外,DSM 6现在支持Web Station中的选项,我可以在其中配置http后端服务器和PHP版本。我把它设置为5.6,与phpmyadmin一起安装。

以下是以前在旧DSM中为我工作的代码:

<?php
define ("DB_HOST", "localhost"); // Your database host name
define ("DB_USER", "root"); // Your database user
define ("DB_PASS", ""); // Your database password
define ("DB_NAME", "groceries"); // Your database name

$link = mysql_connect(DB_HOST, DB_USER, DB_PASS) or die("Couldn't make connection.");
$db = mysql_select_db(DB_NAME, $link) or die("Couldn't select database");
?>

此代码现在返回“无法建立连接”。其他不处理此问题的站点会返回500服务器错误。我尝试用Synology设备的名称替换localhost,但无济于事。 PHP文件本身工作正常,但我无法连接到数据库。我无法在任何地方看到Maria DB的控制面板,所以我不知道我是否缺少任何设置。这是一个新设备,全新安装包,所以我还没有更改root密码。

我甚至尝试从Package Center安装Apache 2.4,并将其设置为新Web Station设置中的后端服务器,然后重新启动NAS。但phpyadmin仍然显示“nginx / 1.11.10”作为Web服务器。作为参考,我的旧NAS在Web服务器下显示Apache,但我没有安装Apache软件包。

我很茫然。有没有人试图使用Synology DSM 6连接到一个mysql数据库并活着讲述这个故事?

4 个答案:

答案 0 :(得分:2)

我正在使用DSM6和DS716 +,以下代码对我有用。导致连接问题的原因太多了。如扩展名未启用等。请在执行任何其他步骤之前使用phpinfo()进行验证。尝试使用mysqli extension而不是mysql,为您附加示例代码:

<?php
$mysqli = new mysqli("localhost", "dbuser", "dbpassword", "dbname");

$query = "SHOW TABLES";
if ($result = $mysqli->query($query)) {
    while ($row = $result->fetch_row()) {
        printf("%s <br />\n", $row[0]);
    }
    $result->close();
}

$mysqli->close();

?>

enter image description here

PS:请留下评论给谁一个downvote

答案 1 :(得分:1)

mysql-server正在运行?命令行上的color:yourColor#service mysql status。您还可以使用#mysql#mysql -u USERNAME -p来检查登录信息。见mysql man

答案 2 :(得分:1)

你需要添加一个端口。

我使用PDO,但您可以使用mysql_connect

  try
  {
     $pdo = new PDO("mysql:host=servernameport=3307;dbname=database", "username", "password");
  }
  catch(PDOException $e)
  {
     echo $e->getMessage();
  }
      return $pdo;

要找出您需要的端口,请转到maria db 如果我正确,那么在您安装phpmyadmin

时会自动安装此软件包

答案 3 :(得分:0)

我和你有同样的问题。我通过以下主机参数解决了该问题:

主机:127.0.0.1:3307

我正在安装一个Wordpress网站,该网站是从Duplicator Pro PlugIn导入的,它对我有用。