我有一个较旧的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数据库并且活着告诉故事?
解决方法:
我正在使用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();
?>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。