2016-07-19 17 views
5

Nachdem ich meine Test-Site (Debian Linux) erfolgreich auf Zend Framework 3 aktualisiert habe, möchte ich die Übung auf OS X El Capitan unter Server 5.1.5 wiederholen. Ursprünglich hatte PHP 5.5.x installiert, aber ich habe auf PHP 5.6.x aktualisiert und dies mit einem phpinfo() - Display verifiziert. Wenn ich jedoch versuche, Composer auszuführen, um Zend Framework 3-Module zu installieren, antwortet es, dass dies nicht möglich ist, da PHP 5.5.x installiert ist. Neustart usw. macht keinen Unterschied. Woher weiß der Komponist, welche PHP-Version verwendet wird und wie kann ich davon überzeugen, dass PHP 5.6.x installiert ist?Wie kennt PHP Composer die PHP-Version?

+0

Haben Sie Ihre Umgebungsvariablen überprüft? Vielleicht haben Sie zwei PHP-Versionen installiert. – Dekel

+0

hast du dein php mit 'brew' installiert? – YvesLeBorg

+0

Ich würde mir vorstellen, dass der Komponist die Version von PHP verwendet, die unter 'what php' auftaucht. Haben Sie 'phpinfo()' auf einem Webserver oder in einem CLI-Skript ausgeführt? Es kann sein, dass Ihr Webserver auf die Version 5.6.x verweist, aber der cli-Pfad verweist immer noch auf die Version 5.5.x. –

Antwort

1

Wenn ich richtig verstehe, dann ist Ihr Server bereits PHP 5.6 und sollte ZF3 ausführen können, aber die CLI ist PHP 5.5 und Composer hört auf, die ZF3-Module zu holen, weil die PHP zu niedrig ist, oder?

Sie haben ein PHP für die CLI und ein anderes PHP für den Server. Wenn Sie composer ausführen, überprüft es die PHP-Version des aktuell ausgeführten, von der CLI verwendeten PHP.

Zwei Lösungen kommen mir in den Sinn:

  • Update Ihre PHP auf der CLI verwendet oder
  • append --ignore-platform-reqs zu Ihrem Komponist Befehl. Das wird die env-Prüfungen ignorieren und so tun, als ob alles in Ordnung ist. Beachten Sie, dass dadurch auch die Überprüfung von Erweiterungen deaktiviert wird, die möglicherweise von einigen Modulen benötigt werden.
1

Für andere, die nicht wissen, wie die PHP-Version für Komponisten zu ändern, wenn WAMP auf Windows- mit:

Composer nutzen die PHP-Version, die von dem Endgerät ausgeführt werden kann. Unter Windows kennt der Composer (und damit auch das Terminal) die PHP-Version aus der Variablen Path.

Sie können ganz einfach den Wert innerhalb Systems ändern ->Erweiterte Systemeinstellungen ->Umgebungsvariablen. Innerhalb der Path Variable sollte ein Wert wie C:\wamp64\bin\php\php5.6.25 sein. Nach dem Ändern des Wertes ist ein Neustart notwendig.

Sie können immer die aktuelle Version des Systems PHP herausfinden, indem Sie php -v im Terminal ausführen.

+0

+1 dafür; gilt wahrscheinlich für jedes lokale Entwickler-Setup (ich bin auf XAMPP, persönlich). Gut erklärt; das hat es für mich gelöst! – cdwyer