Muszę zainstalować PHP 5.3 na moim serwerze CentOS. Jeśli to zrobię yum install php
, podstawowe repozytorium instaluje 5.1.6, które jest za stare dla aplikacji, które muszę zainstalować. Próbowałem więc użyć repozytorium IUS , postępując zgodnie z oficjalnymi instrukcjami IUS:
root@linuxbox ~]# wget http://dl.iuscommunity.org/pub/ius/stable/Redhat/5/x86_64/ius-release-1-2.ius.el5.noarch.rpm
root@linuxbox ~]# wget http://dl.iuscommunity.org/pub/ius/stable/Redhat/5/x86_64/epel-release-1-1.ius.el5.noarch.rpm
root@linuxbox ~]# rpm -Uvh ius-release*.rpm epel-release*.rpm
OK. Teraz po prostu robię yum install php53
itd. Dla wszystkich potrzebuję ... ale pojawia się ten błąd:
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Check Error:
file /usr/bin/php from install of php53u-cli-5.3.4-3.ius.el5.x86_64 conflicts with file from package php-cli-5.1.6-27.el5_5.3.x86_64
file /usr/bin/php-cgi from install of php53u-cli-5.3.4-3.ius.el5.x86_64 conflicts with file from package php-cli-5.1.6-27.el5_5.3.x86_64
file /usr/share/man/man1/php.1.gz from install of php53u-cli-5.3.4-3.ius.el5.x86_64 conflicts with file from package php-cli-5.1.6-27.el5_5.3.x86_64
file /etc/php.ini from install of php53u-common-5.3.4-3.ius.el5.x86_64 conflicts with file from package php-common-5.1.6-27.el5_5.3.x86_64
Error Summary
-------------
Nie mam pojęcia, jak to rozwiązać. Myślę, że muszę usunąć pakiety podstawowe. Jednak jako ktoś nowy w Linuksie nie wiem, jak to zrobić.
źródło
remove
ierase
są synonimami, zgodnie zeyum
stroną podręcznika pod CentOS i ostatnimi wydaniami Fedory.yumcommands.py
jeśli masz wątpliwości. :)Odpowiedź na to pytanie uległa zmianie od 13 stycznia 2011 r. Red Hat wydał wersję 5.6, w tym PHP w wersji 5.3 jako oddzielny pakiet (
php53
).Musisz usunąć stary PHP, a następnie osobno zainstalować PHP 5.3. To brzmi podobnie do twojego pakietu z repozytorium IUS, ale teraz jest oficjalne.
Aby uzyskać więcej informacji, zobacz informacje o wersji Red Hat .
Zauważ, że jest to po prostu Red Hat i będzie trochę opóźnienie, zanim będzie dostępne w CentOS. Aktualizacja RHEL 5.6 wygląda jednak na stosunkowo niewielką, więc nie powinienem oczekiwać, że będzie za długa.
źródło
Spróbuj usunąć stare wersje pakietów przed zainstalowaniem nowych:
następnie spróbuj zainstalować mniam.
Ostrzeżenie : spójrz na listę zmian, które chcesz wprowadzić przed zatwierdzeniem, aby upewnić się, że nie usuwasz innych ważnych pakietów.
źródło
Masz rację, najpierw musisz odinstalować domyślne pakiety php. Zanim przejdziesz dalej, pamiętaj, że inne pakiety mogą mieć specyficzne zależności od wersji podstawowych. Możliwe, że nic ci nie będzie, ale ostrzegaj, że później będziesz musiał zająć się innymi problemami.
Powinieneś być w stanie to zrobić, wydając
Następuje twój
źródło
CentOS 6 jest już dostępny i zawiera PHP 5.3:
http://isoredirect.centos.org/centos/6/isos/x86_64/
źródło
php-cli
,php-common
aphp-dev
wraz z pewnymi zależnościami ale nic więcej (MySQL, itp były nietknięte.)phpinfo
potwierdza, że korzystam z PHP w wersji 5.3.3.źródło
Miałem ten sam problem, w którym „yum update php” dawał mi błędy konfliktu.
Uruchamianie „aktualizacji yum” (aktualizacja wszystkiego) działało jednak dla mnie. Spróbuj.
Pamiętaj również, że jeśli uruchomisz „yum erase php” lub „yum remove php”, może usunąć wszystkie pakiety zależne od PHP ... które prawdopodobnie obejmowałyby twój panel sterowania Plesk lub CPanel, jeśli masz zainstalowany. Jeśli się nie mylę, będziesz musiał ponownie zainstalować te, co może być uciążliwe.
źródło
Właśnie rozwiązałem ten problem po wielu badaniach, a mianowicie zainstalowaniu PHP 5.3.10 na CentOS 5.3. Próbowałem użyć kilku repozytoriów, w tym repozytorium Atomicorp , ale to złamało plesk
W końcu odkryłem, że poniższe kroki są przyjemnością, pomyślałem, że się nimi dzielę.
ZACZYNAĆ
Pobierz i włącz repozytoria REMI i EPEL
Zmień „włączone = 0” na „włączone = 1” pod nagłówkiem „[rem]”
Musisz usunąć php-sqlite2, inaczej pojawi się błąd zależności
W takim przypadku zaktualizuj PHP do najnowszej wersji 5.3.10
Utwórz kopię zapasową php.ini i włącz nowo zainstalowaną wersję
Utwórz kopię zapasową my.cnf i włącz nowo zainstalowaną wersję
Zainstaluj najnowszą wersję rozszerzenia ioncube
Może być również konieczne zainstalowanie rozszerzeń php, w tym przypadku musiałem również zainstalować rozszerzenie SOAP:
Uruchom ponownie usługi, aby zmiany zaczęły obowiązywać
GOTOWY
Twoje zdrowie; znak
źródło