Aktualizujesz PHP w XAMPP dla Windows?

175

Chciałbym wiedzieć, jak zaktualizować PHP w Xampp dla Windows? Próbowałem pobrać najnowszą wersję PHP z głównej strony PHP, ale po sprawdzeniu (phpinfo) nadal widzę, że poprzednia wersja jest nadal używana.

Stanley Ngumo
źródło
Śledź ten post. Na mnie to działa.
abu abu

Odpowiedzi:

126

Wykonaj kopię zapasową plików htdocs i folderu danych (podfolder folderu MySQL), zainstaluj ponownie zaktualizowaną wersję i zamień te foldery.

Uwaga: jeśli zmieniłeś pliki konfiguracyjne, takie jak PHP (php.ini), Apache (httpd.conf) lub inne, wykonaj kopię zapasową tych plików i zastąp je nowo zainstalowaną wersją.

s-sharma
źródło
11
Zmieniłem nazwę mojego obecnego XAMPP z C: \ XAMPP na C: \ XAMPP ORIG, aby móc zainstalować najnowszą wersję XAMPP w C: \ XAMPP, ale nadal mam dane mojej aplikacji i oryginalną wersję na wypadek, gdyby coś poszło. Przestraszyłem się po zainstalowaniu najnowszego XAMPP i zobaczyłem, że "nadpisał" moje XAMPP ORIG - na moim dysku C: było tylko C: \ XAMPP - ale ulżyło, gdy moje htdocs i mysql \ data były w nowej, zaktualizowanej wersji firmy XAMPP.
Andrew Koper,
2
Zawsze tak robiłem, ale niektóre bazy danych w folderze danych kopii zapasowej uległy awarii, gdy zostały umieszczone w nowo zainstalowanym folderze xampp. Dlatego zawsze szukam aktualizacji PHP bez aktualizacji apache.
Sithu
@whitelettersandblankspaces czy jesteś użytkownikiem Xampp? Pomyślałem, że jest to zupełnie jasne dla każdego, kto używa xampp ... Mimo to moje upvote trafia do Dharmang, odpowiedział wcześniej i z większą precyzją, a co jeśli chcę trzymać się tych samych wersji Apache i MySql i po prostu zaktualizować PHP? Ta leniwa (ale jasna) odpowiedź tego nie
wyjaśnia
29
Pamiętaj, że ta odpowiedź dotyczy tylko zapisywania danych z sieci i MySQL. Nie obejmuje zmian konfiguracyjnych w PHP (php.ini) Apache (httpd.conf i inne) itp.
Kwebble
14
To jest aktualizacja Xamppa, a nie aktualizacja PHP tym samym Xamppem.
Skrol29
59

Możesz przejść przez poniższy link, ponieważ pomógł mi, powinien również działać dla Ciebie. http://hype-free.blogspot.com/2007/07/updating-php-in-xampp-for-windows.html

Zdając sobie sprawę, że moja odpowiedź pomogła kilku użytkownikom, oto zmiana z oryginalnego linku:

Edytować:

Przede wszystkim Zawsze twórz kopie zapasowe danych.

  1. Pobierz najnowszą binarną wersję PHP (upewnij się, że masz pakiet .zip, a nie instalator)
  2. Usuń archiwizację do katalogu
  3. Nadpisz zawartość katalogu w podfolderze php katalogu instalacyjnego XAMPP.
  4. Zastąp zawartość katalogu apache \ bin nowszymi wersjami.
  5. Teraz sztuczka : weź pliki, które mają w nazwie „_2” (na przykład php5apache2_2.dll lub php5apache2_2_filter.dll), skopiuj je do podkatalogu apache \ bin i usuń część „_2”, nadpisując istniejące pliki. Jest to konieczne, ponieważ XAMPP używa Apache w wersji 2.2, a pliki z prefiksem 2 są zbudowane dla Apache 2.0, więc musisz wziąć kompilację plików dla nowszej wersji (która ma inny interfejs wtyczki) i zmienić ich nazwy w nazwach plików, których oczekuje XAMPP .

UWAGA: istnieją dwa katalogi do zaktualizowania o nową wersję plików, mianowicie phppodkatalog i apache/binpodkatalog, wewnątrz instalacji XAMPP.

Dharmang
źródło
Krok 4 nie jest potrzebny. Po wykonaniu reszty skopiowałem również php.ini i php / extras z folderu kopii zapasowej. (Zostało to również wspomniane w komentarzach do artykułu, co też mi pomogło)
Musa Haidari
@Dharmang: niestety przesunąłem + usunąłem cały mój folder apache xampp, php ... Za próbę zainstalowania najnowszej wersji php. Teraz jestem zdezorientowany, jak zacząć? .. czy możesz mi pomóc, proszę?
szt.
Teraz zainstaluj najnowszą wersję, ale twoje dane (takie jak katalog www) są teraz zniszczone, możesz wypróbować oprogramowanie do odzyskiwania.
Dharmang
1
@Dharmang, dzięki za twój post. Czy możesz mi powiedzieć, gdzie są pliki, o których wspomniałeś w KROKU 5, a także kiedy muszę je zastąpić przed nadpisaniem zawartości lub po (jak wspomniano w KROKU 3,4)
Nehal
Musisz pobrać interesującą Cię wersję PHP ze strony xampp.
Dharmang
53

Najprostsza metoda aktualizacji PHPw XAMPP:

  1. Pobierz najnowszą przenośną wersję XAMPP .
  2. Wypakuj archiwum (nie gdzie XAMPP już zainstalowane).
  3. Skopiuj plik PHP folder z wyodrębnionego archiwum.
  4. Zachowaj kopię zapasową PHPfolderu, który znajduje się w zainstalowanym XAMPPkatalogu. Możesz go wykonać, tak jak zmieniając PHPnazwę folderu na PHP-oldlub podobnąPHP-version-number
  5. Wklej PHP folder skopiowany z wyodrębnionego archiwum.
  6. Zastąp php.iniplik folderem kopii zapasowejphp.ini na wypadek zmiany ustawień domyślnych wcześniej.
  7. To wszystko, uruchom / uruchom ponownie server.
Vikas Khunteta
źródło
Nie mogę znaleźć archiwum zip XAMPP, wygląda na to, że jest tylko instalator exe.
dlofrodloh
2
@dlofrodloh Tutaj można znaleźć wszystkie pliki źródłowe XAMPP sourceforge.net/projects/xampp/files .
Vikas Khunteta,
2
Aktualizacja w 2018: próbowałem zaktualizować 7.0.27 do 7.2.7 i działałem jak urok. Największą zaletą w stosunku do ponownej instalacji całego Xamppa jest utrzymanie wszystkich ustawień (z wyjątkiem tego php.ini). Dzięki za to
Mikec007
1
@VikasKhunteta Wiem, że chodzi wyłącznie o aktualizację PHP, ale w prawdziwym świecie często musisz wziąć pod uwagę również DB i może to być niegrzeczne przebudzenie, gdy twoje rzeczy już nie działają. Wypróbowałem kilka rozwiązań, które do tej pory nie działały dla mnie, więc odszedłem od kompletnych środowisk, takich jak XAMPP.
sba
1
@AdheneManx Miałem ten sam problem, a Twoja sugestia dotycząca PHPMyAdmin działała świetnie. Chcę również zwrócić uwagę, że mam zainstalowaną wersję PHP jako x86, dlatego wersje x64 nie będą działać. Konieczne jest pobranie poprawnej przenośnej wersji Xampp x86 sourceforge.net/projects/xampp/files/XAMPP%20Windows/7.3.2 - Możesz sprawdzić, czy masz zainstalowany x86 lub x64phpinfo()
Linesofcode
13

Musiałem zaktualizować php z 5.3.8 do 5.3.29 . (oba bezpieczne wątki) w systemie Windows

Kroki, które zrobiłem:

  1. Utwórz kopię zapasową mojego początkowego folderu php w xampp.
  2. Pobrano zip stąd http://windows.php.net/download/#php-5.3-ts-VC9-x86
  3. Rozpakuj ten plik zip do folderu xampp.
  4. Skopiowany plik php.ini ze starego folderu php do nowego.
  5. Skopiowałem kilka folderów, których nie miałem w nowym folderze php, ze starego. Na przykład: dodatki, które zawierały plik browsercap.ini (ten jest potrzebny)
  6. Skopiowano potrzebne rozszerzenia ze starego folderu php ext do nowego folderu php ext . Skopiowałem je ręcznie, sprawdzając listę rozszerzeń z pliku php.ini.
  7. Skopiowano również te pliki: php5apache2_2.dll, php5ts.dll

Mam nadzieję, że omówiłem wszystko.

Najprawdopodobniej te kroki nie zadziałają, jeśli zmienisz główne wersje php, np. 5.3.x na 5.4.x, ale dla mniejszych wersji powinno działać.

Również dobry sposób, aby zobaczyć, co jest nie tak ... uruchom wiersz poleceń i spróbuj uruchomić httpd.exe, w katalogu xampp / apache / bin, wyświetli listę znalezionych błędów.

CRK
źródło
1
Nie działało przy przechodzeniu do php7, ale od 5.5 do 5.6 działało dobrze!
Vlad,
10

Zaktualizowałem do php7.2 z php5.6

Kroki, które wykonałem.

  1. Pobierz plik binarny PHP stąd . Pobrałem plik VC15 x86 Thread Safe Zip .
  2. Utworzono kopię zapasową folderu xampp / php .
  3. Wypakuj całą zawartość pliku zip do folderu xampp / php.
  4. Skopiowano php.in i (ponieważ zmodyfikowałem go wcześniej i chcę odzyskać moją konfigurację, jeśli używasz domyślnego, pomiń ten krok).
  5. Edytuj poniższy plik

C: \ xampp \ apache \ conf \ extra \ http-xampp.conf

5.1. Zastąpić

LoadFile „C: /xampp/php/php5ts.dll”

LoadFile „C: /xampp/php/libpq.dll”

LoadModule php5_module "C: /xampp/php/php5apache2_4.dll"

do

LoadFile „C: /xampp/php/php7ts.dll”

LoadFile „C: /xampp/php/libpq.dll”

LoadModule php7_module "C: /xampp/php/php7apache2_4.dll"

  1. Uruchom ponownie Apache
Anurag Prashant
źródło
Nie jest to idealne rozwiązanie: PHP Ostrzeżenie: Uruchomienie PHP: Nie można załadować biblioteki dynamicznej 'php_mysql.dll' (próbowano: C: \ xampp \ php \ ext \ php_mysql.dll ...
Harry
Spróbuj pobrać dokładną kompilację. w moim przypadku był to VC15 x86 Thread Safe
Anurag Prashant
1
@Harry - Zmień go na php7_mysql.dll (lub cokolwiek ma zastosowanie). Pytanie dotyczyło aktualizacji modułu php, a nie innych bibliotek.
Anurag Prashant
9

Myślę, że musisz pobrać i zainstalować XAMPP z żądaną wersją PHP. Nie sądzę, abyś mógł po prostu uaktualnić komponenty XAMPP indywidualnie, chyba że w samym XAMPP jest do tego przewidziana.

prodigitalson
źródło
2
XAMPP nie ma aktualnej wersji PHP, więc nowa instalacja byłaby bezużyteczna
webby68
Możesz ulepszyć komponenty XAMPP, sprawdź moją odpowiedź tutaj
Vikas Khunteta
9

pobierz żądaną wersję pliku binarnego php ze strony http://windows.php.net/download/ . pobierz wersję binarną Thread Safe. Rozpakuj pobraną wersję PHP do osobnego folderu. Upewnij się, że nazwa nowego folderu php nie brzmi „PHP”. Być może możesz użyć filder name jako nazwy wersji. Na przykład dla php 5.4 możesz użyć php54.

Skopiuj nowy folder php do folderu xampp. Teraz przejdź do folderu yourxampp / apache / conf / extra. Otwórz plik httpd-xampp.conf z folderu extra. Zmień następujące zmienne:

Zmienna PHPINIDir to be / Varaible LoadModule to be //php5apache2_2.dl

Zapisz plik httpd-xampp.conf. Zrestartuj serwer XAMPP Apache. Jeśli serwer zostanie pomyślnie uruchomiony ponownie, wersja php serwera zostanie zaktualizowana.

tanzeem
źródło
6

Nie mam jeszcze wystarczającej reputacji, aby komentować, ale, aby dodać do odpowiedzi ssharmy:

Po skopiowaniu folderu htdocs w bezpieczne miejsce po prostu wyeksportuj bazy danych z PHPmyadmin. Po prostu przejdź do każdej ze swoich baz danych i kliknij kartę eksportu u góry. Wyeksportuj je jako sql (lub cokolwiek, tak naprawdę - pamiętaj tylko, co wybrałeś). Uaktualnij swoją instalację XAMPP. Teraz w nowej wersji XAMPP utwórz bazy danych, które chcesz ponownie wstawić. Przykład: masz bazę danych o nazwie „test”, którą wyeksportowałeś ze starej instalacji, nazwij nową, pustą bazę danych w ten sam sposób. Teraz przejdź do „testu” i naciśnij przycisk importu u góry (tuż obok przycisku eksportu). Kliknij wybierz plik, znajdź wyeksportowany wcześniej plik sql (powinien to być „test.sql”) i zaimportuj. Twoje tabele i dane będą na miejscu.

UWAGA: Istnieje możliwość wyeksportowania całej kolekcji baz danych (nazwa pliku 127.0.0.1.sql). Ale nigdy nie miałem szczęścia, aby poprawnie zaimportować. Wykonaj każdą z baz danych osobno, aby upewnić się, że działa. Zrobiłem ten post trochę rozwlekły, ale to dlatego, że lubię pisać dla ludzi, którzy jeszcze nie wiedzą dokładnie, co robią (ja sam byłem tam nie tak dawno temu (wszyscy byliśmy na niektórych punkt)).

Skrócona wersja mojej odpowiedzi:
1) Eksportuj swoje bazy danych indywidualnie
2) Importuj do nowej instalacji XAMPP

IT-Pro
źródło
5
  1. Idź do phpinfo(), naciśnij ctrl+ fi wpisz, threadaby sprawdzić wartość.
  2. Jeśli jest włączona, pobierz wersję niegwintowaną, w przeciwnym razie pobierz wersję bezpieczną dla wątków stąd (zip).
  3. Wyodrębnij go i zmień nazwę folderu na php.
  4. Przejdź do folderu xampp, zmień nazwę phpfolderu domyślnego na coś innego.
  5. Skopiuj wyodrębniony phpfolder (o zmienionej nazwie ) do katalogu xampp.
  6. Skopiuj php.iniplik z domyślnego / starego phpfolderu (którego nazwa została zmieniona) i wklej go do nowego phpfolderu.
  7. Zrestartuj serwer xampp i gotowe.
Muhammad Younus
źródło
5

Istnieją nowsze wersje beta Xamppa, które są dostarczane z nowszymi aktualizacjami PHP.

powinieneś sprawdzić na http://www.apachefriends.org

Andrés
źródło
3

http://www.apachefriends.org/en/xampp-windows.html

W tej witrynie możesz pobrać

Dodatki XAMPP

Korzystając z tego dodatku, możesz zaktualizować najnowsze wersje.

gopi
źródło
Wszystkie spakowane foldery / pliki instalacyjne, które pobieram z tego linku, są puste lub uszkodzone! Proszę pomóż?
marienke
3

1) Utwórz kopię zapasową folderu htdocs
2) wyeksportuj swoje bazy danych (postępuj zgodnie z tym samouczkiem)
3) odinstaluj xampp
4) zainstaluj nową wersję xampp
5) zastąp folder htdocs, którego kopia zapasowa została utworzona
6) Zaimportuj bazy danych, które wcześniej wyeksportowałeś

Uwaga : Jeśli zmieniłeś pliki konfiguracyjne, takie jak PHP (php.ini), Apache (httpd.conf) lub inne, wykonaj kopię zapasową tych plików i zastąp je nowo zainstalowaną wersją.

csandreas1
źródło
3

Aby zaktualizować do najnowszej wersji PHP w xampp bez utraty danych htdocs, musisz pobrać plik zip żądanej wersji PHP z sourceforge.net, a następnie skopiować folder PHP z wyodrębnionego pliku i wkleić go do folderu xampp.

UWAGA: Nie zapomnij zmienić nazwy starego folderu plików PHP, który już istnieje.

Następnie po prostu edytuj plik php.ini z bieżącą ścieżką, aby dotrzeć do odpowiedniego folderu PHP

Następnie musisz ponownie uruchomić Xampp.

Znalazłem film na youtube, który może ci pomóc. jak zaktualizować wersję php w xampp

Gnida
źródło
2

Właśnie zaktualizowałem mój stary przenośny XAMPP z PHP 5.3.X (w tym Mercury, FileZilla i Tomcat) do przenośnego XAMPP z PHP 5.6.X (w tym poprzednie wersje) ...
Mój sposób:

  1. Pierwsze pobranie ostatniego przenośnego XAMPP (moja wersja przy użyciu: xampp-portable-win32-5.6.14-3-VC11 Bezpośredni link do pobrania ) Ostatni XAMPP
  2. Wypakuj nowy plik do pobrania na dysk d, ponieważ nowa wersja nie zawiera rtęci, filezilli, tomcat, a następnie kopiuję te pakiety ze starej wersji do nowej
  3. Teraz na starym xampp najpierw skopiuj wszystkie pliki htdocs do nowego xampp htdocs
  4. Teraz na starym xampp wykonaj kopię zapasową całej bazy danych w 5 dwóch 10 oddzielnych plikach sql
  5. Teraz na nowym xampp zmień niektóre ustawienia, takie jak max_upload_sizeitp. Na php.ini, a także w/apache/conf/extra/httpd-xampp.conf
  6. Teraz usuń (utwórz archiwum rar i usuń) go i skopiuj nowy xampp z dysku Dna dyskC
  7. Teraz uruchom nowy xampp, przechodząc do phpmyadmin, utwórz użytkownika i hasło, których używam w poprzednim xampp i dodaj wszystkie uprawnienia tego użytkownika.
  8. Teraz zamierzam zaimportować kartę do phpmyadmin i osobno zaimportować pliki sql.
  9. Teraz testuję xampp ze wszystkimi nowymi funkcjami na dysku C.

UWAGA
Na karcie Eksportuj bazę danych w phpmyadmin wybierz znak UTF-8 i zaznacz Disable foreign key checkspole wyboru,
a na karcie importu usuń zaznaczenie Enable foreign key checks.

Mostafa
źródło
2

1) Pobierz nowe PHP z oficjalnej strony (lepiej trochę zip). Zmień phpnazwę starego katalogu na php_oldi utwórz ponownie phpkatalog i umieść w nim rozpakowane pliki.

W php.inipołączyć potrzebnych modułów, jeśli coś zostało domyślnie wyłączone (jak Memcached etc.), ale nie zapomnij dodać odpowiadające używane .dllpliki.

2) W moim przypadku musiałem zaktualizować Apache. Więc powtórz te same kroki: pobierz nowy pakiet, zmień nazwy katalogów, utwórz nowy apachekatalog i umieść nowe pliki.

Teraz możesz spróbować ponownie uruchomić apache działający apache_start.batz xamppfolderu (lepiej uruchom ten bat, niż zrestartuj usługę apache z okna usług Windows, ponieważ w tym przypadku w konsoli zobaczysz wszystkie błędy, jeśli będą jakieś, w tym linie w konfiguracji, w której będę miał problem). Jeśli zaktualizowałeś Apache i uruchomiłeś ten plik, na liście usług zobaczysz Apache2.2, ale w opisie możesz uzyskać inną wersję (w moim przypadku była to Apache / 2.4.7).

W przypadku aktualizacji Apache mogą wystąpić problemy, więc pamiętaj:

  • po zastąpieniu całego katalogu może być konieczne skonfigurowanie apache/conf/httpd.confpliku (skopiuj wirtualne hosty ze starej konfiguracji, skonfiguruj DocumentRoots, uprawnienia do katalogów, wszystkie ścieżki, rozszerz listę plików indeksowych (domyślnie Apache ma tylko index.htmltak, aby inne pliki indeksowe zostanie po prostu zignorowany, a Apache po prostu wyświetli katalog główny witryny w przeglądarce), skonfiguruje dzienniki itp.)

  • podłącz potrzebne moduły (jeśli użyłeś czegoś, co nie było domyślnie włączone, jak mod_rewrite itp.)

kovpack
źródło
0

W przypadku aktualizacji php w Xampp możesz wykonać następujące kroki, w przeciwnym razie możesz pominąć te 4 kroki i bezpośrednio zainstalować MAMP (również dla systemu Windows) z witryny, a tutaj jest bezpośredni link do pobrania

Krok 1: Wykonaj kopie zapasowe Przed rozpoczęciem upewnij się, że wykonałeś kopię zapasową wszystkich ustawień, modułów niestandardowych i, co najważniejsze, katalogu htdocs, który zawiera skrypty i zasoby strony. Ten katalog zwykle znajduje się w C: \ xampp \ htdocs \

Krok 2: Przygotowanie

Pobierz PHP 5.3.0rc2. Używam kompilacji VC6, aby zminimalizować potencjalne problemy ze zgodnością. Zalecane jest również pobranie najnowszej wersji XAMPP dla systemu Windows. Chociaż jest to przewodnik aktualizacji, który powinien działać z poprzednimi wersjami XAMPP, zaleca się użycie świeżej kopii plików podstawowych. Zatrzymaj wszystkie wystąpienia usługi Apache, które mogą być uruchomione.

Krok 3: Aktualizacja W tym przewodniku założymy, że katalog XAMPP to C: \ xampp \

Rozpakuj archiwum XAMPP do wybranego katalogu, polecam użycie domyślnego C: \ xampp \ Wypakuj zawartość archiwum PHP do C: \ xampp \ php \, nadpisując zawartość tego katalogu nowymi plikami. Otwórz plik C: \ xampp \ apache \ conf \ extra \ httpd-xampp.conf i upewnij się, że następujące wiersze są obecne w tej kolejności:

LoadFile "/xampp/php/php5ts.dll"
LoadModule php5_module "/xampp/apache/bin/php5apache2_2.dll"

Replace C:\xampp\php\php.ini with C:\xampp\php\php.ini-dist
Uncomment the lines:

;extension=php_mbstring.dll
;extension=php_pdo_sqlite.dll

Replace the line

magic_quotes_gpc = On

with

magic_quotes_gpc = Off

Skopiuj wszystkie pliki z C: \ xampp \ php \ do C: \ xampp \ apache \ bin \ (nie kopiuj podkatalogów ani ich zawartości).

Po wykonaniu powyższych kroków uruchom ponownie usługę Apache (można to zrobić za pomocą C: \ xampp \ xampp-control.exe lub ręcznie za pomocą panelu sterowania / wiersza poleceń). Twoje informacje PHPinfo powinny wskazywać, że aktualizacja się powiodła. Zaktualizuję ten post, jeśli odkryję jakiekolwiek problemy z używaniem tej metody lub czystszego (zautomatyzowanego) sposobu wykonania aktualizacji.

manish1706
źródło