Tak się składa, że w świeżej dystrybucji Debiana możesz potrzebować starej wersji php, która nie jest częścią stabilnej gałęzi dystrybucyjnej. Na przykład php 5.3 do uruchamiania witryny na serwerze z Debian Jessie.
Aby w pełni rozwiązać zależności, oprócz php, zainstaluj pakiety apache, które są istotne dla poprzedniej stabilnej dystrybucji Debiana.
I najważniejszy aspekt: zawsze twórz kopie zapasowe wszystkich plików konfiguracyjnych!
Może być konieczne usunięcie już zainstalowanych pakietów php ze stabilnej gałęzi, jeśli zostały wcześniej zainstalowane. Można to zrobić za pomocą polecenia:
# aptitude purge `dpkg -l | grep php | grep -w 5 | awk "{print 2 $}" xargs`
I stosujemy to samo polecenie dla apache, odpowiednio, zastępując php apache2.
Dodawanie repozytoriów
Pakiety dla systemu Debian Squeeze są obecnie dostępne tylko w repozytorium archiwum . Lista będzie wyglądać tak:
deb http://archive.debian.org/debian/ squeeze main deb-src http://archive.debian.org/debian/ squeeze main
Dodaj go za pomocą jednego polecenia:
# echo -e "deb http://archive.debian.org/debian/ squeeze main \ ndeb-src http://archive.debian.org/debian/ squeeze main"> /etc/apt/sources.list.d /php-squeeze.list
I zaktualizuj pamięć podręczną pakietów.
# aptitude update
Priorytety pakietów
Następnie utwórz plik /etc/apt/preferences.d/php-apache-squeeze, w którym zapisujemy:
Pakiet: * php5 * Przypnij: zwolnij a = ściśnij Pin: wersja 5.3 * Pin-Priority: 1000 Pakiet: * apache * Przypnij: zwolnij a = ściśnij Pin: wersja 2.2 * Pin-Priority: 1000
Dwa parametry zasługują na największą uwagę.
Pin: release a = squeeze - nazwa gałęzi dystrybucyjnej jest pogrubiona.
Pin: wersja - wersja pakietów.
Zapisz plik, zainstaluj pakiety w standardowy sposób:
# apt-get install apache2-mpm-prefork libapache2-mod-php5 php5-cli php5-mysql
Dzięki tej metodzie nie trzeba zamrażać pakietów, ponieważ podczas aktualizacji systemu nie będzie to miało wpływu. Należy również zauważyć, że niektórych pakietów może brakować w starych gałęziach (php5-fpm dla wersji 5.3).
PS Ta metoda jest całkiem odpowiednia dla Ubuntu, ale z wersją używanych repozytoriów.
Dziękuję. Pomogło.
Dzień dobry!
Podczas instalacji libapache2-mod-php5 wyświetla następujące informacje:
root @ funticket: ~ # apt-get install libapache2-mod-php5
Czytanie list paczek ... Gotowe
Budowanie drzewa zależności
Czytanie informacji o stanie ... Gotowe
Niektórych pakietów nie można zainstalować. Może to oznaczać, że masz
zażądał niestabilnej sytuacji
dystrybucja
lub zostały przeniesione z przychodzących.
Poniższe informacje mogą pomóc w rozwiązaniu problemu:
Następujące pakiety mają niespełnione zależności:
init: PreDepends: systemd-sysv
nie zostanie zainstalowany lub
butt upstart
initscripts: Depends: sysv-rc or
to nie zostanie zainstalowane
Zalecane: e2fsprogs
libapache2-mod-php5: Zależy: libssl0.9.8 (> = 0.9,8.8-1), ale to nie idzie
Zależy: apache2-mpm-prefork (> 2.0.52)
apache2-mpm-itk
Zależy: apache2.2-common, ale nie zostanie zainstalowany
Zależy: php5-common (= 5.3.3-7 + squeeze19)
Zależy: ucf
Zależy: nie zostanie zainstalowany
Poleca: php5-cli
libblkid1: Depends: libuuid1 (> = 2.16)
libreadline6: Depends: readline-common
logrotate: Zależy: cron lub
anakron lub
demon cron
Poleca: mailx
E: Błąd, pkgProblemResolver :: Resolve generowane przez pakiety.
Byłbym wdzięczny za każdą pomoc! Nie można uruchomić pehu w debian 8-ke
W tej chwili mogę polecić używanie php5-cgi zamiast modułu libapache2-mod-php5.
Najpierw umieść Apache:
W związku z tym nie można nawet zainstalować starego apache z repozytorium squeeze.
Następnie umieść php:
Włącz mod_actions:
Dodaj następujące wiersze do konfiguracji hosta wirtualnego w konfiguracji apache:
Dzięki za odpowiedź!
Potrzebuję tylko php do pracy jako moduł apache.
Rozwiązał problem, umieszczając Debiana 7.