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?
Antwort
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.
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.
+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
- 1. PHP Composer Paket Anmeldeinformationen
- 2. Wer kennt etwas wie RSPec für PHP?
- 3. Wer kennt den PHP-Quellcode?
- 4. Wie kennt die std :: function die Aufrufkonvention?
- 5. Einschließlich PHP Defines() mit Composer
- 6. Wie kennt sizeof die Größe des Operandenarrays?
- 7. Wie man die Mitte einer LineShape kennt
- 8. Composer Fehler auf OS X und OpenSSL, die von PHP
- 9. Propel und Composer in PHP: keine Verbindung
- 10. Composer-Abhängigkeit für angegebene PHP-Version
- 11. Composer neuere Version von PHP zu verwenden
- 12. Ist das PHP Composer Repository-Protokoll definiert?
- 13. Composer Downloads Projekt unter PHP-Ordner
- 14. Composer konnte nicht installiert werden - php-fpm
- 15. Warum ist PHP Composer so langsam?
- 16. PHP-Composer, lokal installiert, Remote-Installation benötigt?
- 17. Composer zeigt keine aktualisierte PHP-Version
- 18. PHP Composer-Skripte werden nicht ausgelöst
- 19. PHP-Basis-Abhängigkeit in Composer überschreiben
- 20. GitLab-CI Multi Runner PHP Composer Cache
- 21. Wie benutze ich PHP-Bibliothek ohne Composer auf Webspace?
- 22. Wie man Guzzle 3 für sendgrid php ohne Composer einrichtet
- 23. Wie installiert man die Doktrin mongodb odm über Composer
- 24. Composer Laufzeitfehler installieren
- 25. Wie man IntelliJ FIXME kennt?
- 26. Composer Äquivalent in JAVA?
- 27. Laravel Update Composer
- 28. Wo installiert Composer Dateien?
- 29. Wie kann ich Composer über Ant abrufen?
- 30. Kennt jemand die Geschichte von ASP.NET-Webforms?
Haben Sie Ihre Umgebungsvariablen überprüft? Vielleicht haben Sie zwei PHP-Versionen installiert. – Dekel
hast du dein php mit 'brew' installiert? – YvesLeBorg
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. –