Uczynienie XAMPP do pracy z wieloma wersjami PHP

18

Jak mogę zainstalować XAMPP do pracy z różnymi wersjami PHP?

Używam XAMPP, ponieważ niektóre skrypty są wadliwe po uruchomieniu w WAMP. Używam WAMP, ponieważ obsługuje różne wersje PHP.

Ale teraz chciałbym usprawnić to do XAMPP, aby łatwiej było zarządzać moim rozwojem sieci.

Czy można skonfigurować XAMPP do pracy z więcej niż jedną wersją PHP? Czy jest to coś, czego muszę szukać w alternatywnym rozwiązaniu?

Uwaga: korzystam z systemu Windows 7.

Pennf0lio
źródło
Możesz użyć WAMPSERVER zamiast Xampp. WAMPSEVER zawiera tacę przełączania wersji PHP; co jest przydatne.
Weijing Jay Lin

Odpowiedzi:

8

Uwaga
Ta odpowiedź nie dotyczy nowej wersji XAMPP.


Najpierw musisz zatrzymać Apache z XAMPP . Następnie,

Przejdź do cmd i przejdź do folderu XAMPP. Na przykład jeśli folder XAMPP znajduje się w C: \

C:\>cd C:\XAMPP 

W tym folderze znajduje się plik o nazwie php-switch.bat, uruchamiany z wiersza poleceń. Jeśli nie, możesz także uruchomić php-switch.batbezpośrednio.

Zobaczysz obecną wersję i procedurę przełączania. Na przykład wpisz, 4aby przełączyć PHP 4, a następnie postępuj zgodnie z procedurą.

php-switch.bat działający w terminalu

PHP 4 zainstaluje się w twoim katalogu XAMPP \ PHP i pomyślnie przełączy. następnie ponownie włącz Apache.

Ye Lin Aung
źródło
1
Nie mogę znaleźć php-switch.bat na XAMPP 1.7.3 zainstalowanym. Czy jest dostępna konkretna wersja Xampa, która to obsługuje? Dzięki!
Pennf0lio,
Ups Myślę, że obecna wersja nie zawiera już php4 apachefriends.org/f/viewtopic.php?f=16&t=33327 .. Myślę, że będziesz potrzebować starszej wersji, jeśli chcesz przejść na v4
Ye Lin Aung
4
nie jest to już ważne w nowszych wersjach XAMPP
Mauris
1
Co już nie jest ważne? Instalujesz wersje PHP4 lub swiching?
AlxVallejo
4
nie ma już php-switch.bat w nowej wersji
Toskan
5

Najlepszą metodą jest zmiana ustawień PHP w

/apache/conf/extra/httpd-xampp.conf

aby odzwierciedlić nową wersję PHP, której chcesz użyć

W moim przypadku rozpakowałem PHP5.4 do C: \ XAMPPLITE \ PHP5.4, a następnie zaktualizowałem kluczowe linie w tym pliku, takie jak:

SetEnv PHPRC "C:\\xampplite\\php5.4"

LoadFile "C:/xampplite/php5.4/php5ts.dll"

PHPINIDir "C:/xampplite/php5.4"

Musisz także upewnić się, że zainstalowana jest poprawna wersja php5apache2_2.dll

Aby to zapewnić, skopiowałem nową wersję php5apache2_2.dll do katalogu modułów Apache o unikalnej nazwie, a następnie zmodyfikowałem konfigurację, aby pasowała do tego:

copy php5.4\php5apache2_2.dll apache\modules\php5apache2_2-5_4.dll

oraz w pliku httpd-xampp.conf

LoadModule php5_module modules/php5apache2_2-5_4.dll
Warkotać
źródło
1

Jeśli twoje skrypty są wadliwe, pozostaną błędne bez względu na to, jakie pakiety serwerów przełączysz. Jeśli problem dotyczy konfiguracji serwera, należy od razu go zalogować i rozwiązać.

Prawdziwym hardcorowym rozwiązaniem byłoby ręczne instalowanie i zarządzanie komponentami serwera (i ich konfiguracjami). Odkąd przeszedłem z WAMP na samodzielną instalację serwera, nigdy więcej nie odczułem potrzeby stosowania gotowych rozwiązań serwerowych.

antychris
źródło
Dzięki za radę! Większość dyskusji sugeruje użycie XAMPP jako szybkiego i brudnego rozwiązania problemu ze skryptem. Chociaż masz rację, dla mnie rozsądnie jest po prostu zmienić serwer (ponieważ jest szybki) w porównaniu do zepsucia konfiguracji serwera, że ​​nie mam pojęcia, od czego zacząć.
Pennf0lio,
Cóż ... Wcześniej czy później możesz dojść do sytuacji, w której nie ma innej opcji niż zagłębienie się w konfiguracje (np. Konfigurowanie serwera za pomocą połączenia terminalowego). Na wypadek, gdybyś zmienił zdanie - możesz spróbować różnicować pliki konfiguracyjne XAMPP / WAMP / LAMP ze świeżo zainstalowanym serwerem autonomicznym i nie szukać instrukcji, co oznaczają te różnice. W ten sposób nauczyłem się tego, co teraz wiem.
antichris
Fajne dzięki za wskazówkę. Tak, zgadzam się z twoją tezą Ale na razie poradzę sobie z moim problemem pojedynczo i wybiorę najszybsze rozwiązanie. : PI ma wiele terminów. Naprawdę doceniam pomoc :)
Pennf0lio
Zadałem podobne pytanie, ale z większą funkcjonalnością tutaj serverfault.com/questions/121810/ ... Chciałem zaktualizować pojedyncze elementy, takie jak apache, mysql, php i phpmyadmin w moim Xampp. Wciąż szukam rozwiązania tego problemu. Jeśli ktoś znajdzie rozwiązanie, daj mi znać. Dzięki
Gaurav Sharma
1

Jeśli chcesz tę funkcję (znaczenie, możliwość miksowania i dopasowywania kompilacji komponentów apache, mysql i php) i wolisz aplikacje AMP Stack w pakiecie innych firm, możesz spojrzeć na WAMPServer 2.0 jako opcję dla systemu Windows ... Prawie co drugi Dołączona opcja AMP, na którą patrzyłem (dla Windows, Mac i Linux) nie pozwala na zamianę kompilacji komponentów (nie włączam przełączników PHP4 i PHP5 jako kompilacji komponentów, ponieważ były one naprawdę oferowane tylko ze względu na starszy kod problemy, dopóki PHP5 nie stał się bardziej kompatybilny z poprzednimi wersjami, a PHP4 mniej obfity).

Większość pakietowych aplikacji AMP Stack innych firm, zwłaszcza kompilacje systemów operacyjnych opartych na Uniksie (Mac i Linux), aby komponenty stosu znajdowały się w tej samej strukturze katalogów, co katalog główny „aplikacji”, muszą skompilować każdy komponent z określonymi dyrektywami i argumenty, które ostatecznie łączą niektóre odniesienia do folderów i podpisy binarne z każdym komponentem, same się konstruują ... konkretnie komponenty mysql i php, ponieważ mają obiekty biblioteki, które są współużytkowane i wymagają szczególnego odwołania i włączenia podczas kompilacji źródłowej ... (i wydaje mi się, że większość z jakiegokolwiek powodu po prostu nie kompiluje się z każdą opcjonalną dyrektywą i zawartą biblioteką ... nie jestem pewien, czy to rozwiązałoby problem, czy nie b / c dotarłem tak daleko z moim projektem, aby odpowiedzieć na to jeszcze).

Jeszcze jedna uwaga, ponieważ jest w tym samym kontekście .... w odniesieniu do komentarzy na temat używania komponentów autonomicznych instalacji w porównaniu ze stosami _AMPP, niestety wiem tylko to, co napisałem powyżej, ponieważ próbowałem skonfigurować przy użyciu 3 autonomicznych komponenty kodu źródłowego i próbowałem dostać moje ciasto i zjeść je .... podczas gdy nigdy wcześniej nie miałem doświadczenia w kontaktach z żadnym z nich ... więc mogę powiedzieć, że istnieją 2 bardzo przekonujące powody, dla których Programiści robią i powinien używać stosów do lokalnych środowisk programistycznych:

1) jeśli Twój projekt korzysta z tej technologii, ale nie rozszerza wyraźnie funkcji w rdzeniu żadnego komponentu, większość chce po prostu zacząć działać, aby móc pracować nad tym, nad czym musi pracować ... i nie mieć aby dowiedzieć się o wszystkich konfiguracjach niezbędnych do płynnego komunikowania się 3 składników. Można z łatwością walczyć całymi dniami, aby dowiedzieć się, które dyrektywy, moduły, biblioteki, argumenty kompilacyjne itp. Są potrzebne. Jeśli już to wiesz, świetnie, ale nie polecaj tego komuś, kto nie wie, chyba że zrobisz to za nich.

2) dołączone stosy są autonomiczne i odizolowane od plików konfiguracyjnych systemu operacyjnego, dzięki czemu możesz niszczyć środowisko programistyczne bez poważnych konsekwencji ... jeśli chcesz uruchomić skrypty, które wdrażają pliki do niezbędnego folderu „etc”, ja nie wiem o tobie, ale mogę od czasu do czasu popełnić błąd, a błąd w folderze ../XAMPP/etc jest o wiele mniej bolesny niż błąd w folderze / etc.

3) GUI ... GUI ... GUI ... nie każdy jest wierszem poleceń Mozarta, a stosy AMPP zapewniają ładne GUI do włączania i wyłączania zawartości dla twojego serca. Jeśli chcesz mieć GUI, skłaniasz się ku aplikacjom stosu AMPP ... jeśli cię to nie obchodzi, wszystko zależy od tego, ile ważysz lub ile zapasów włożyłeś na moje punkty # 1 i # 2

W każdym razie, przepraszam za rozprawę „Jak kogoś ziewać”, mam nadzieję, że ktoś coś z tego wyciągnie.

Eric Galuskin
źródło