Ich kann anscheinend keine Möglichkeit finden, die Versionen von PHP schnell zu wechseln. Gibt es etwas, das dem Ruby-Versionsmanager für PHP entspricht? Ich muss unter OS X zwischen 5.3 und 5.2 wechseln.
RVM-Äquivalent für PHP?
Johannes
Wil Moore III
Für PHP-Alternativen zu RVM und rbenvSie haben phpbrew, phpenv und php-Version. Bitte beachten Sie, dass ich der Autor der PHP-Version bin, also bevorzuge ich es natürlich, wie ich es geschrieben habe, um meinen eigenen Juckreiz zu beseitigen (ich wollte etwas Minimales mit der Befehlsvervollständigung); phpenv ist jedoch auch ziemlich gut. Sie würden gut daran tun, beides zu verwenden.
Unter OS X können Sie mit Homebrew einen PHP-Versionsmanager installieren.
Fügen Sie zuerst die PHP-Formeln für Homebrew hinzu:
% brew tap homebrew/homebrew-php
Verwenden Sie dann die installierten Formeln von Homebrew-php Sie können entweder installieren mit:
% brew install php-version
oder
% brew install phpenv
Das php-Version README.md listet noch ein paar auf Alternativen also vielleicht mal nachschauen.
BTW, würde ich in Betracht ziehen php-version
mehr ausgerichtet werden mollig indem es versucht, eine Sache gut zu machen.
-
In Bezug auf php-fpm; Ja, Sie sollten am Ende eine php-fpm-Binärdatei für jede PHP-Version haben, die Sie kompilieren. Wenn Sie verwenden
php-version
oderphpenv
Um die Versionen zu wechseln, erhalten Sie die richtigephp-fpm
. Sie wechseln lediglich Umgebungsvariablen, einschließlich$PATH
und$MANPATH
.– Wil Moore III
15. März 2014 um 5:03 Uhr
-
Dies ist sehr hilfreich für automatisierte Tests. Vielen Dank!
– sstur
28. Dezember 2014 um 16:39 Uhr
-
php-version funktioniert bei mir nicht. phpenv scheint hilfreich zu sein. Vielen Dank!
– Fernando Kosch
14. März 2019 um 1:22 Uhr
-
Ich habe festgestellt, dass phpbrew kein einfaches “brew install phpbrew” anbietet und gehe daher mit der php-version. Ich bin auch gelaufen
brew info phpbrew
und da war nichts. Die readme+install-Dokumente für phpenv erwähnen einfach keine Art von “Brew-Installation”. Ich bin mir also nicht sicher, ob das wirklich mit phpenv funktioniert.– Devin Rhode
29. Dezember 2019 um 21:31 Uhr
-
Also, wenn Sie nach einem einfachen suchen
brew install
.. es sieht so aus, als ob die php-version tatsächlich der richtige Weg ist, obwohl phpbrew viel mehr github watchers+stars+forks hat– Devin Rhode
29. Dezember 2019 um 21:36 Uhr
Ich finde phpfarm ist die naheste PHP-Alternative von rvmes installiert auch Pyrus Das ist wie Rubin-Edelsteine für die PHP-Welt.
-
phpfarm kompiliert nicht auf meinem Mac, RVM ist eine ernste Sache, phpfarm ist es nicht.
– rtaconi
6. Juli 2012 um 10:24 Uhr
Wenn Sie nicht php-cgi verwenden und verschiedene Versionen von PHP an verschiedenen Orten installieren
-
Suchen Sie eine andere Version von libphp5.so und kopieren Sie sie an einen anderen Ort
-
Wenn Sie php5.3.11 oder php5.4.11 verwenden
ln -s php5.3.11 php || ln -s php5.4.11
-
Stellen Sie Ihren Apache httpd.conf bereit
LoadModule php5_module YOUR_PHP_PATH/php/libphp5.so
-
Apache neu starten
sudo apachectl restart
Schau mal rein phpenv
(mit php-build
). Es gibt sogar ein Homebrew-Rezept, wenn Sie möchten brew tap josegonzalez/php
. Es ist eigentlich eine PHP-Version von rbenv
nicht rvm
aber ich denke, es wird einfacher einzurichten sein als phpfarm
.
Wenn Sie Apache ausführen, kann ich vorschlagen, wie ich das gelöst habe. Installieren Sie verschiedene Versionen von PHP an verschiedenen Orten und bereiten Sie einige Apache-php-xyzconf-Dateien vor, z
ScriptAlias /php/ "path/to/php-5.2.10/"
AddType application/x-httpd-php .php
AddType application/x-httpd-php .phtml
Action application/x-httpd-php "/php/php-cgi"
<Directory "/php/">
Order allow,deny
Allow from all
</Directory>
,
ScriptAlias /php/ "path/to/php-5.3.0/"
AddType application/x-httpd-php .php
AddType application/x-httpd-php .phtml
Action application/x-httpd-php "/php/php-cgi"
<Directory "/php/">
Order allow,deny
Allow from all
</Directory>
usw., sodass Sie den Namen der enthaltenen .conf-Datei schnell ändern und den Server neu starten können. Oder erstellen Sie, wie ich es getan habe, mehrere virtuelle Hosts mit demselben Dokumentenstamm, aber mit unterschiedlichen PHP-Versionen:
<VirtualHost *:80>
DocumentRoot "C:/www/localhost"
ServerName local.php-5.2.10
Include conf/php-5.2.10.conf
<Directory "C:/www/localhost">
Allow from All
</Directory>
</VirtualHost>
-
Es scheint die Befehlszeile im Unterschied zu rvm nicht zu beeinflussen
– Mailo Svetel
22. November 2011 um 10:33 Uhr
Lloyd Moore
Dafür gibt es ein tolles Programm, phpbrew. Ich nutze es aktiv und kann es sehr empfehlen.
-
Es scheint die Befehlszeile im Unterschied zu rvm nicht zu beeinflussen
– Mailo Svetel
22. November 2011 um 10:33 Uhr
Sinowjew
Hier meine Lösung (pvers). Ein Ein-Datei-Skript, das vollständig in Bash geschrieben ist. Wenn Sie nach einem leichten und einfach zu installierenden PHP-Versionsmanager mit minimalen Abhängigkeiten suchen – probieren Sie es aus;)
Eine ernsthafte Folgefrage – Ich versuche nur, Composer zu installieren. Verwaltet Composer überhaupt PHP-Versionen?
– Devin Rhode
29. Dezember 2019 um 22:39 Uhr
@DevinGRhode – Nein. Sie können mit Composer Anforderungen für PHP-Versionen festlegen, diese jedoch nicht verwalten.
– M. Eriksson
17. Januar 2020 um 6:46 Uhr