1

尝试全新安装 Silverstripe 4.0.1 但只能做到这一点 -

Installing SilverStripe...

I am now running through the installation steps (this should take about 30 seconds)

If you receive a fatal error, refresh this page to continue the installation

Setting up /var/www/duonsdev/public_html/index.php
Setting up /var/www/duonsdev/public_html/mysite/_config.php
Setting up /var/www/duonsdev/public_html/mysite/_config/theme.yml
Setting up /var/www/duonsdev/public_html/.env
Setting up /var/www/duonsdev/public_html/.htaccess
Building database schema...
ERROR [Emergency]: Uncaught TypeError: Return value of Symfony\Component\Filesystem\Filesystem::toIterable() must be an instance of Symfony\Component\Filesystem\iterable, array returned IN POST /install.php Line 729 in /var/www/duonsdev/public_html/vendor/symfony/filesystem/Filesystem.php Source ====== 720: } 721: 722

错误还在继续。我尝试刷新,但同样的错误。

如果我尝试使用开发/构建,那么它总是会死在 -

Index File_Versions.OwnerID: created as index ("OwnerID")
Website Error
There has been an error

The website server has not been able to respond to your request

尝试在运行 Apache 虚拟主机的本地开发机器上的 Ubuntu 16 上进行设置。以前从未遇到过这个问题,并且可以使用 ss4.0 进行设置。有任何想法吗?

4

2 回答 2

2

我遇到了同样的问题,在查看官方SilverStripe 社区的 slack 频道后,他们提到这是因为我没有运行 PHP 7.1。

显然,他们网站上提供的官方 SilverStripe tarball 是使用 PHP 7.1 构建的,因此 Composer 添加了更新的 Symfony 依赖项。他们提到这将在新版本中修复。

因此,有两种方法可以解决此问题:

  1. 使用 Composer 下载 SilverStripe:

    $ curl -sS https://getcomposer.org/installer | php
    $ ./composer.phar create-project silverstripe/installer /var/www/duonsdev/public_html/
    
  2. 将您的 PHP 版本更新到 7.1。

完成任何这些步骤后,您将能够访问用于安装 SilverStripe 的 Web 向导。

注意:如果您在共享主机上,则需要在本地计算机上下载 SilverStripe(确保 PHP 版本匹配,至少在主要版本中,例如 7.0),并将生成的文件上传到您的public_html目录。

于 2017-12-13T10:31:11.550 回答
1

确保 apache 的模块 php 版本与 cli php 版本相同。

看起来错误与php版本有关。我正在使用composer通过cli安装silverstripe,但在apache中运行不同版本的php。所以在 cli 中,php 版本是 php 7.1 但在 apache 中,php 版本是 php 7.0。

在更改 apache php 以匹配 cli 之后(因为 silverstripe 是在 cli 中使用 composer 安装的)它起作用了!

于 2018-01-21T10:22:45.183 回答