尝试全新安装的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正常安装。 有什么想法吗?
答案 0 :(得分:2)
我遇到了同样的问题,在检查官方SilverStripe Community's slack channel后,他们提到这是因为我没有运行PHP 7.1。
显然,他们网站上提供的官方SilverStripe tarball是用PHP 7.1构建的,因此Composer添加了更新的Symfony依赖项。他们提到这将在较新版本中修复。
因此,有两种方法可以解决此问题:
使用Composer下载SilverStripe:
$ curl -sS https://getcomposer.org/installer | php
$ ./composer.phar create-project silverstripe/installer /var/www/duonsdev/public_html/
将PHP版本更新为7.1。
完成上述任何步骤后,您将可以访问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安装的)它工作正常!