gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-11-01 07:32:07 24 4
gpt4 key购买 nike

我有一个较旧的 Synology 设备(DSM v5.2-5967 更新 4,phpmyadmin v4.4.7-0103),它有一些本地网站可以使用 php 页面。我想将其迁移到我的新 Synology 设备(DSM V6.1.3-15152 Update 1,phpmyadmin v4.6.6-0172)。从套件中心安装新版本的 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 密码。

我什至尝试从套件中心安装 Apache 2.4,并在新的 Web Station 设置中将其设置为后端服务器,然后重新启动 NAS。但是 phpyadmin 仍然显示“nginx/1.11.10”作为网络服务器。作为引用,我的旧 NAS 在 Web 服务器下显示 Apache,但我没有安装 Apache 包。

我很迷茫。有没有人尝试使用 Synology DSM 6 连接到 mysql 数据库并成功讲述了这个故事?

最佳答案

我将 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

关于php - 如何使用 Synology 从 php 页面连接到 mysql 服务器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45707274/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com