场景
我正在尝试在本地 FreeNAS 服务器上安装 Prestashop 1.7,以便在将自定义模块应用到我的实时远程托管 Prestashop 实例之前,我可以拥有一个开发环境来设计和测试自定义模块。我进入安装过程的数据库连接阶段,并收到此错误:
Database Server is not found. Please verify the login, password and server fields (DbPDO)
采取的步骤
为了确保所有设置正确,我在 MySQL 控制台上运行了以下查询:
CREATE DATABASE 'prestashop'
DEFAULT CHARACTER SET latin1
COLLATE latin1_swedish_ci;
CREATE USER 'adminuser'@'%'
IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.*
TO 'adminuser'@'%'
WITH GRANT OPTION;
FLUSH PRIVILEGES;
我了解从任何地方向用户授予所有数据库的所有权限的安全影响,但我暂时这样做是为了在封闭环境(即没有 WAN 访问)中进行测试。在安装过程的系统配置阶段,我在浏览器中输入了以下数据库配置表单:
- 数据库服务器地址:[MySQL 服务器的 IP 地址]
- 数据库名称:prestashop
- 数据库登录:adminuser
- 数据库密码:密码
- 表格前缀:ps_
这会产生与之前相同的错误。我可以使用相同的条件使用 dbForge Studio Express for MySQL
建立与 MySQL 服务器的连接。由此,我知道我的连接详细信息是正确的,但无论出于何种原因,Prestashop
无法连接。
环境
以下是我的环境的统计数据,可能有助于确定原因:
- 服务器操作系统:FreeNAS 9.10.2
- 在 FreeBSD jail 中
- 数据库服务器:MySQL 5.6.39
- 网络服务器:Apache 2.4.29
- PHP 服务器:PHP 5.6.33
注意事项
我进行了广泛的搜索(即谷歌搜索),大多数发现的原因都是人们不小心输入了错误的参数。这不是我的情况,因为我已经使用 dbForge
测试了参数。
问题
- 导致此问题的原因是什么?
- 在尝试解决此问题时我错过了哪些步骤?
- 我是否遗漏了任何有助于解决问题的相关信息?
最佳答案
我唯一能想到的是您输入了错误的 IP 地址。
如果您使用应用程序远程连接到数据库,那么是的,您可以使用正确的 IP 连接,但如果您的 Apache/PHP 服务器与 MySQL 服务器在同一环境中运行,则服务器地址应该是 localhost
或 127.0.0.1
。
关于php - FreeNAS 9.10 上的 Prestashop 1.7 无法通过浏览器连接到数据库服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48726251/