安装Silverstripe 4.0.1时出错

时间:2017-12-08 05:45:40

标签: silverstripe-4

尝试全新安装的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

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

如果我尝试使用dev / build,那么它总是会死于 -

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正常安装。 有什么想法吗?

2 个答案:

答案 0 :(得分:2)

我遇到了同样的问题,在检查官方SilverStripe Community's slack channel后,他们提到这是因为我没有运行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。

  3. 完成上述任何步骤后,您将可以访问Web向导以安装SilverStripe。

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

答案 1 :(得分:1)

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

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

更改apache php以匹配cli后(因为silverstripe是使用cli中的composer安装的)它工作正常!