Ich musste ein Debian-Dist-Upgrade auf meinem Server durchführen ... dabei wurde PHP auf 5.4 aktualisiert. Wir verwenden Ioncube, der nur bis zu 5,3 atm unterstützt, und ich habe Probleme, ein Downgrade von 5.4 auf 5.3 zu finden. Weiß jemand wie?
Ich musste ein Debian-Dist-Upgrade auf meinem Server durchführen ... dabei wurde PHP auf 5.4 aktualisiert. Wir verwenden Ioncube, der nur bis zu 5,3 atm unterstützt, und ich habe Probleme, ein Downgrade von 5.4 auf 5.3 zu finden. Weiß jemand wie?
Antworten:
Keine der oben genannten Lösungen hat bei mir funktioniert. Was funktionierte, war, die notwendigen Pakete an den alten Stall zu heften, wie z
Fügen Sie Folgendes hinzu: /etc/apt/sources.lst
deb http://ftp.us.debian.org/debian/ squeeze main contrib non-free
deb-src http://ftp.us.debian.org/debian/ squeeze main contrib non-free
Erstellen
/etc/apt/preferences.d/preferences
Und fügen Sie die Pakete hinzu, die Sie herabstufen müssen, wie in meinem Fall
Package: php5*
Pin: release a=oldstable
Pin-Priority: 700
Package: libapache2-mod-php5
Pin: release a=oldstable
Pin-Priority: 700
Package: libapache2-mod-php5
Pin: release a=oldstable
Pin-Priority: 700
Package: php-pear
Pin: release a=oldstable
Pin-Priority: 700
Package: *
Pin: release a=stable
Pin-Priority: 600
Führen Sie dann die Befehle aus
aptitude update
aptitude reinstall <necessary packages>
/etc/init.d/apache2 restart
Wenn Sie wissen möchten, welche Pakete Sie aktualisieren müssen, führen Sie einfach Folgendes aus:
dpkg -l|grep php|grep 5.4|awk '{print $2}'
deb http://archive.debian.org/debian squeeze main contrib non-free deb-src http://archive.debian.org/debian squeeze main contrib non-free
Siehe wiki.debian.org/DebianSqueeze
Sie können dies versuchen, aber auf eigenes Risiko. Ich habe es nicht selbst versucht. ;)
apt-get remove php5
dpkg --force php5_5.3.3-7+squeeze8_all.deb
dpkg --set-selections PHP5 hold
Die letzte Zeile, um ein Upgrade auf 5.4 zu verhindern. Wenn Sie für 5.4 bereit sind, führen Sie ausdpkg --set-selections PHP5 install
IonCube für 5.4 ist eine Weile von dem entfernt, was ich gelesen habe.
dpkg: error: unknown force/refuse option 'php5_5.3.3-7+squeeze13_all.deb'
Sie können beide PHP-Versionen parallel installieren, z. B. PHP 5.5x und 5.3x, oder sogar drei PHP-Versionen parallel, z. B. PHP 5.5x, 5.4x und 5.3x, mit fastcgi.
1. Installieren Sie Libs, fastCGI, git
sudo apt-get update
sudo apt-get install build-essential
sudo apt-get install libxml2 libxml2-dev libssl-dev
sudo apt-get install libcurl4-openssl-dev pkg-config
sudo apt-get install libcurl4-gnutls-dev libjpeg-dev libpng12-dev libmysqlclient-dev
sudo apt-get install git
cd /opt
sudo git clone https://github.com/cweiske/phpfarm
sudo apt-get install libapache2-mod-fastcgi apache2-mpm-worker apache2-suexec
sudo a2enmod actions fastcgi suexec
sudo service apache2 restart
2. Kompilieren Sie PHP und überprüfen Sie es
cd /opt/phpfarm/src
sudo ./compile.sh 5.3.29
cd /opt/phpfarm/inst/bin
./php-5.3.29 --version
3. Konfigurieren Sie FastCGI
sudo mkdir /var/www/cgi-bin
cd /var/www/cgi-bin
sudo nano php-cgi-5.3.29
#!/bin/sh
PHPRC="/etc/php5/cgi/5.3.29/"
export PHPRC
PHP_FCGI_CHILDREN=3
export PHP_FCGI_CHILDREN
PHP_FCGI_MAX_REQUESTS=5000
export PHP_FCGI_MAX_REQUESTS
exec /opt/phpfarm/inst/bin/php-cgi-5.3.29
Machen Sie diese Datei ausführbar.
4. Erstellen Sie einen neuen virtuellen Host
Geben Sie dies in Ihren Host ein:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName fastcgidemo.dev
DocumentRoot /var/www/fastcgidemo
#php-cgi setup
#used for multiple php versions
FastCgiServer /var/www/cgi-bin/php-cgi-5.3.29
ScriptAlias /cgi-bin-php/ /var/www/cgi-bin/
<Directory "/var/www/fastcgidemo">
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require all granted
AddHandler php-cgi .php
Action php-cgi /cgi-bin-php/php-cgi-5.3.29
<FilesMatch "\.php$">
SetHandler php-cgi
</FilesMatch>
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error_fastcgidemo.log
CustomLog ${APACHE_LOG_DIR}/access_fastcgidemo.log combined
</VirtualHost>
Fügen Sie die Domänen zu / etc / hosts hinzu
127.0.0.1 fastcgidemo.dev
5. Testen Sie alles
Aktivieren Sie die Site und starten Sie Apache neu und erstellen Sie eine neue Datei mit phpinfo () in / var / www / fastcgidemo, um Ihre Konfiguration zu testen.
Gehen Sie zum Browser und geben Sie fastcgidemo.dev ein
Ich hoffe es hilft!
Vollständiges Tutorial zu:
http://www.jabommi.de/wiki/downgrade-php-5-5-to-5-3-ubuntu-14-with-multiple-php-versions/
Überprüfen Sie zunächst, welche Versionen für PHP5 unterstützt werden:
apt-cache showpkg php5
Hier ist das Skript, das Sie nützlich finden könnten ( es entfernt PHP 5.4 und installiert PHP 5.3 ):
sudo apt-get remove --purge `dpkg -l | grep php | grep -w 5.4 | awk '{print $2}' | xargs`
VERSION="php5_5.3.3-7+squeeze8_all" # CHANGES THIS WITH YOUR VERSION OF PACKAGE
sudo apt-get install php5=$VERSION php5-cli=$VERSION php5-common=$VERSION libapache2-mod-php5=$VERSION
sudo apt-get install php5=$VERSION php5-cli=$VERSION php5-common=$VERSION libapache2-mod-php5=$VERSION
sudo apt-get install php-pear=$VERSION php5-curl=$VERSION php5-gd=$VERSION php5-intl=$VERSION php5-mysql=$VERSION php5-pspell=$VERSION php5-recode=$VERSION php5-snmp=$VERSION php5-sqlite=$VERSION php5-tidy=$VERSION php5-xmlrpc=$VERSION php5-xsl=$VERSION
Wo die verfügbaren Versionen können Sie per Befehl überprüfen: apt-cache showpkg php5
Überprüfen Sie es nach der Installation mit dem folgenden Befehl: php --version
Bitte seien Sie vorsichtig und installieren Sie keine anderen Pakete ohne die angegebene Paketversion (wie php5-xcache), da sonst apt-get Ihre PHP-Instanz wieder durch 5.4 ersetzt!
Um dies zu verhindern, können Sie diese Pakete aufbewahren.
Um Pakete von dpkg zu halten, können Sie den folgenden Befehl ausführen:
echo "php5 hold" | sudo dpkg --set-selections
Führen Sie den folgenden Befehl aus, um alle PHP-Pakete zu speichern:
dpkg --get-selections | grep ^php5 | sed s/install/hold/g | sudo dpkg --set-selections
Der folgende Befehl zeigt Ihnen den Status Ihrer PHP-Pakete:
sudo dpkg --get-selections | grep ^php
Sie können Pakete auch mit aptitude halten, z. B.:
sudo aptitude hold php5
Unhold:
sudo aptitude unhold php5
Siehe auch die gleichen Fragen für Ubuntu, um weitere Ideen zu erhalten.
Ich würde mir zuerst ansehen, was ich installiert habe
dpkg -l |grep php
dann deinstallieren Sie alle PHP, die Version 5.4 Beispiel ist ...
apt-get remove libapache2-mod-php5 php-db php-pear php5 php5-cli php5-common
dann müssen Sie die alten Dateien bereinigen (nicht notwendig, könnte aber helfen)
apt-get clean
dann wie oben bearbeiten und anheften
nano /etc/apt/preferences.d/preferences
Wenn dies immer noch nicht funktioniert, wiederholen Sie dies, aber deaktivieren Sie diesmal die Repositorys, die Keuchen enthalten, und lassen Sie nur die Seiten-Repositorys. du könntest
apt-get install --reinstall
Ich musste ein vollständiges Upgrade auf Keuchen durchführen, indem ich meine passenden Quellen auf Keuchenquellen umstellte. PHP deinstalliert, das System mit den neuen apt-Quellen aktualisiert, PHP installiert ... alles ist golden.