php - FreeNAS 9.10 上的 Prestashop 1.7 无法通过浏览器连接到数据库服务器

标签 php mysql database freebsd prestashop-1.7

场景

我正在尝试在本地 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 测试了参数。

问题

  1. 导致此问题的原因是什么?
  2. 在尝试解决此问题时我错过了哪些步骤?
  3. 我是否遗漏了任何有助于解决问题的相关信息?

最佳答案

我唯一能想到的是您输入了错误的 IP 地址。

如果您使用应用程序远程连接到数据库,那么是的,您可以使用正确的 IP 连接,但如果您的 Apache/PHP 服务器与 MySQL 服务器在同一环境中运行,则服务器地址应该是 localhost127.0.0.1

关于php - FreeNAS 9.10 上的 Prestashop 1.7 无法通过浏览器连接到数据库服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48726251/

相关文章:

php - 对 php 文件的 Ajax 调用不适用于该文件中的 'require_once'

php - 将表名和限制传递给 mysql 存储过程不起作用

mysql - 最佳性能索引结构

database - 使用 Navicat 连接到 Heroku Postgres 数据库

php - 如何从 Cross Slide 图像库的数据库中获取图像?

php - 从 exif_read_data 不支持的图像格式读取元数据

php - 正则表达式 - 匹配到点,但没有最后一个字符

mysql - 使用 JOIN 选择特定日期

sql - 哪里都不是空的

mysql - 如何在同一查询mysql中选择组成员数和关注状态