我想设置 REST API,它可以与我的 NAS 上的数据库通信。我为数据库连接编写了这个简单的 PHP 代码,它与我电脑上的 Xampp 完美配合。
<?php
$servername = "localhost:3307";
$username = "root";
$password = "MyRootPassword";
// Create connection
$conn = new mysqli($servername, $username, $password);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
echo "Connected successfully";
但是,当我将此脚本上传到 NAS 上的 Web 文件夹时,并且当我想在浏览器中加载该文件时,我收到一条HTTP Error 500
消息。
(我已经安装了 Web Station,服务器运行 PHP 7.3 和 Apache HTTP Server 2.4。我还安装了 phpMyAdmin 和 MariaDB10。)
为何我的代码在 NAS 上不起作用?
答案1
最后我终于搞明白了。需要配置多项内容:
首先,如果您想远程(在网络之外)连接到数据库,则必须为
host
用户配置,并将其设置为%
。这意味着该用户可以从任何位置连接。这不是必需的,如果您想从运行 php 代码的地方连接到数据库,那么 localhost 或 127.0.0.1 就足够了。我遇到的真正问题
error 500
是我的mysqli
扩展在 Web Station PHP 设置中被禁用。我不得不编辑我的 PHP 7.3 设置,并添加 mysqli 扩展。