2016-06-11 9 views
0

Ich arbeite an der Installation von Apigility auf einem Linux-Webserver. Es ist ein Shared-Hosting-Konto mit Inmotion Hosting. Ich benutze die Anweisungen unter https://apigility.org/documentation/intro/installation. Es war wirklich einfach zu installieren, aber ich lief in Syntaxfehler, die ich nicht herausfinden kann.Wie funktioniert Apigility?

Parse error: syntax error, unexpected 'class' (T_CLASS), expecting identifier (T_STRING) or variable (T_VARIABLE) or '{' or '$' in /home/amlcon5/public_html/websites/dev/apigility/vendor/zendframework/zend-servicemanager/src/ServiceManager.php on line 281 

Hier ist die Funktion von ServiceManager.php, wo der Fehler ist.

/** 
* Set factory 
* 
* @param string       $name 
* @param string|FactoryInterface|callable $factory 
* @param bool        $shared 
* @return ServiceManager 
* @throws Exception\InvalidArgumentException 
* @throws Exception\InvalidServiceNameException 
*/ 
public function setFactory($name, $factory, $shared = null) 
{ 
    $cName = $this->canonicalizeName($name); 

    if (!($factory instanceof FactoryInterface || is_string($factory) || is_callable($factory))) { 
     throw new Exception\InvalidArgumentException(sprintf(
      'Provided factory must be the class name of a factory, callable or an instance of "%s".', 
      FactoryInterface::class // <--- ERROR IS HERE 
     )); 
    } 

    if ($this->has([$cName, $name], false)) { 
     if ($this->allowOverride === false) { 
      throw new Exception\InvalidServiceNameException(sprintf(
       'A service by the name or alias "%s" already exists and cannot be overridden, please use an alternate name', 
       $name 
      )); 
     } 
     $this->unregisterService($cName); 
    } 

    if ($shared === null) { 
     $shared = $this->shareByDefault; 
    } 

    $this->factories[$cName] = $factory; 
    $this->shared[$cName] = (bool) $shared; 

    return $this; 
} 

Ich habe mehrere Dinge ausprobiert, wie zB: Neuinstallation andere Methoden verwenden, deaktivieren OpCache, und die Konfigurationsdateien zu überprüfen.

Hat jemand dies bei der Einrichtung von Apigility erfahren oder weiß, wie man das beheben kann?

Antwort

0

Es stellte sich heraus, dass ich nicht über PHP auf dem neuesten Stand war. Auf PHP5.5 aktualisiert und es hat funktioniert.