手动开启群辉php_如何使用Synology从php页面连接到mysql服务器?

本文描述了在将旧版Synology设备升级到DSM 6.1.3时遇到的PHP连接MySQL数据库的问题。作者在新设备上安装phpmyadmin和Maria DB后,原来的PHP连接代码无法正常工作。尝试使用Synology设备名称替换localhost并未解决问题。解决方案是切换到mysqli扩展,并提供了一个示例代码来展示如何正确连接到数据库。

我有一个较旧的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中为我工作的代码:

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数据库并且活着告诉故事?

解决方法:

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

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

$query = "SHOW TABLES";

if ($result = $mysqli->query($query)) {

while ($row = $result->fetch_row()) {

printf("%s
\n", $row[0]);

}

$result->close();

}

$mysqli->close();

?>

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

标签:php,mysql,phpmyadmin,mariadb,synology

来源: https://codeday.me/bug/20190622/1264337.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值