架构创建在安装SilverStripe时出错

时间:2018-04-10 09:39:51

标签: php installation silverstripe

我正在尝试在我的XAMPP设置上安装SilverStripe CMS。 (Apache / 2.4.18(Win32)OpenSSL / 1.0.2e PHP / 7.0.8) 在localhost / SilverStripe / install.php中,我提供了我的数据库的详细信息,并单击了安装SilverStripe。

创建数据库,而架构创建则出错。 (下面的错误文本)

   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 'mysite/_config.php'...
    Setting up C:\xampp\htdocs\SilverStripe-cms-v3.1.7-rc1\mysite/_config.php
    Setting up '.htaccess' file...
    Setting up C:\xampp\htdocs\SilverStripe-cms-v3.1.7-rc1\.htaccess
    Building database schema...
     [Notice] Array to string conversion
     POST /SilverStripe-cms-v3.1.7-rc1/install.php
     Line 497 in C:\xampp\htdocs\SilverStripe-cms-v3.1.7-rc1\framework\model\Database.php

    Source
    488         $newTable = false;
    489         
    490         // backwards compatibility patch for pre 2.4 requireField() calls
    491         $spec_orig=$spec;
    492         
    493         if(!is_string($spec)) {
    494             $spec['parts']['name'] = $field;
    495             $spec_orig['parts']['name'] = $field;
    496             //Convert the $spec array into a database-specific string
    497             $spec=DB::getConn()->$spec['type']($spec['parts'], true);
    498         }
    499         
    500         // Collations didn't come in until MySQL 4.1.  Anything earlier will throw a syntax error if you try and use
    501         // collations.
    502         // TODO: move this to the MySQLDatabase file, or drop it altogether?
    503         if(!$this->supportsCollations()) {

Trace
SS_Database->requireField(File,ClassName,Array) 
DB.php:337
DB::requireField(File,ClassName,Array) 
Enum.php:83
Enum->requireField() 
Database.php:375
SS_Database->requireTable(File,Array,Array,1,Array,) 
DB.php:327
DB::requireTable(File,Array,Array,1,Array,) 
DataObject.php:3090
DataObject->requireTable() 
DatabaseAdmin.php:211
DatabaseAdmin->doBuild(1) 
install.php5:1415
Installer->install(Array) 
install.php5:277
include(C:\xampp\htdocs\SilverStripe-cms-v3.1.7-rc1\framework\dev\install\install.php5) 
install.php:26
include(C:\xampp\htdocs\SilverStripe-cms-v3.1.7-rc1\framework\dev\install\install.php) 
install.php:13
[Notice] Undefined property: MySQLDatabase::$Array

任何关于此的指示都会非常有用。

1 个答案:

答案 0 :(得分:2)

您没有指定您尝试安装的SilverStripe版本。但是从行

  

设置C:\ xampp \ htdocs \ SilverStripe-cms-v3.1.7-rc1 \ mysite / _config.php

我猜你是否使用过时且与PHP 7不兼容的3.1.7版。

使用PHP 7时,您需要使用SilverStripe 3.6或更高版本。