【问题标题】:Silverstripe 4.9.0 can't access CMS administration / Silverstripe Framework requires a "database" key in DB::getConfig()Silverstripe 4.9.0 无法访问 CMS 管理 / Silverstripe 框架需要 DB::getConfig() 中的“数据库”键
【发布时间】:2022-01-21 02:29:58
【问题描述】:

我是 Linux 及其所有方面的新手,但目前我正在尝试获取 Silverstripe 4.9.0。在 Debian 10 服务器上运行。我遇到了 2 个问题,每个问题都出现在我制作的两个项目之一中。

  1. 项目 1 - 在我使用 composer create-project silverstripe/installer my-project3 命令创建安装文件夹后,我将文档根目录设置为 var/www/html/my-project3/public 文件夹,因为它是写的在文档中。 在浏览器中访问页面后,我收到此消息: Silverstripe 框架需要 DB::getConfig() 中的“数据库”键。您是否忘记在您的环境中设置 SS_DATABASE_NAME 或 SS_DATABASE_CHOOSE_NAME?

  2. 项目 2 - 同样的问题,但我发现可以通过编辑 .env 文件手动设置环境等来修复第一个错误。我还在 MariaDB 中准备了一个数据库,并在 example.env 文件中填写了与数据库相关的所有内容(之后重命名为 .env,以便可以通过 vendor/bin/sake dev/build 命令读取)。但是,据我所知,这绕过了通过浏览器本身进行的基本安装,因为 Silverstripe 从 .env 文件中获取了所需的一切。我现在可以看到基本的自动生成的主页(没有任何关于安装成功的信息,只是关于我们的您的站点名称和菜单,联系...),但是在尝试通过简单地添加 /admin 来访问 CMS 管理之后/ 到我的 URL,我收到了这个错误:

     Not Found
    
     The requested URL was not found on this server.
    
     Apache/2.4.38 (Debian) Server at bis054.vse.cz Port 443
    

所以现在它是半功能的,我需要的是:

让第一个项目工作 - 能够看到安装网页,然后希望我能够通过网络界面本身设置所有内容,或者让第二个项目工作 - 找出为什么不能' t CMS 管理可以访问,例如关于我们和联系我们页面(让我遇到完全相同的错误)。发现 /my-project/public 子文件夹中没有 admin 文件夹或 about-us 文件夹。

【问题讨论】:

标签: mysql database debian silverstripe silverstripe-4


【解决方案1】:

编辑 - 让第二个项目工作,为可能遇到此问题的每个人发布,您必须将其添加到您的 /etc/apache2/sites-enabled/000-default.conf 以及 000-default-如果您使用的是 https,则为 le-ssl.conf。为这两个文件设置它,因此它适用于端口 443 和端口 80,只是为了确定!它必须在 VirtualHost 结束之前的配置文件末尾设置。

<Directory /var/www/html/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    allow from all
</Directory>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-11-29
    • 2016-10-04
    • 1970-01-01
    • 1970-01-01
    • 2021-05-25
    • 2016-09-08
    • 2023-04-04
    • 2016-04-28
    相关资源
    最近更新 更多