Ho dovuto fare un dist-upgrade Debian sul mio server ... nel frattempo, PHP è stato aggiornato a 5.4. Usiamo ioncube che supporta solo fino a 5,3 atm e ho qualche problema a trovare il downgrade a 5.3 da 5.4. Qualcuno sa come?
Ho dovuto fare un dist-upgrade Debian sul mio server ... nel frattempo, PHP è stato aggiornato a 5.4. Usiamo ioncube che supporta solo fino a 5,3 atm e ho qualche problema a trovare il downgrade a 5.3 da 5.4. Qualcuno sa come?
Risposte:
Nessuna delle soluzioni sopra ha funzionato per me. Ciò che ha funzionato è stato fissare i pacchetti necessari alla vecchia stalla come
Aggiungi quanto segue a /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
Creare
/etc/apt/preferences.d/preferences
E aggiungi i pacchetti di cui hai bisogno per il downgrade come nel mio caso
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
Quindi eseguire i comandi
aptitude update
aptitude reinstall <necessary packages>
/etc/init.d/apache2 restart
Se vuoi sapere quali pacchetti devi aggiornare, esegui:
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
Vedi wiki.debian.org/DebianSqueeze
Potresti provare questo, ma fallo a tuo rischio. Non l'ho provato da solo. ;)
apt-get remove php5
dpkg --force php5_5.3.3-7+squeeze8_all.deb
dpkg --set-selections PHP5 hold
L'ultima riga per impedire l'aggiornamento a 5.4. Quando sei pronto per la 5.4, corridpkg --set-selections PHP5 install
IonCube per 5.4 è un po 'fuori da quello che ho letto.
dpkg: error: unknown force/refuse option 'php5_5.3.3-7+squeeze13_all.deb'
Puoi installare entrambe le versioni PHP in parallelo, ad esempio PHP 5.5x e 5.3x, o anche tre versioni PHP in parallelo, ad esempio PHP 5.5x, 5.4x e 5.3x, usando fastcgi.
1. Installa 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. Compilare PHP e verificarlo
cd /opt/phpfarm/src
sudo ./compile.sh 5.3.29
cd /opt/phpfarm/inst/bin
./php-5.3.29 --version
3. Configurare 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
Rendi eseguibile questo file.
4. Creare un nuovo host virtuale
Metti questo nel tuo host:
<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>
Aggiungi i domini a / etc / hosts
127.0.0.1 fastcgidemo.dev
5. Prova tutto
Abilita il sito e riavvia apache e crea un nuovo file con phpinfo () in / var / www / fastcgidemo per testare la tua configurazione.
Vai al browser e digita fastcgidemo.dev
Spero che sia d'aiuto!
Tutorial completo su:
http://www.jabommi.de/wiki/downgrade-php-5-5-to-5-3-ubuntu-14-with-multiple-php-versions/
Prima controlla quali versioni sono supportate per php5:
apt-cache showpkg php5
Ecco lo script che potresti trovare utile ( rimuove PHP 5.4 e installa 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
Dove le versioni disponibili è possibile controllare tramite comando: apt-cache showpkg php5
Dopo l'installazione, verificarlo con il comando: php --version
Fai attenzione e non installare altri pacchetti senza la versione del pacchetto specificata (come php5-xcache), altrimenti apt-get sostituirà di nuovo la tua istanza PHP con 5.4!
Per evitare che ciò accada, puoi conservare questi pacchetti.
Per conservare i pacchetti di dpkg, è possibile eseguire il comando seguente:
echo "php5 hold" | sudo dpkg --set-selections
Per contenere tutti i pacchetti PHP, esegui il seguente comando:
dpkg --get-selections | grep ^php5 | sed s/install/hold/g | sudo dpkg --set-selections
Il seguente comando ti mostrerà lo stato di possesso dei tuoi pacchetti php:
sudo dpkg --get-selections | grep ^php
Puoi anche conservare i pacchetti usando aptitude, ad esempio:
sudo aptitude hold php5
unhold:
sudo aptitude unhold php5
Vedi anche le stesse domande per Ubuntu, per qualche altra idea.
Vorrei prima vedere cosa ho installato
dpkg -l |grep php
quindi disinstallare qualsiasi php di esempio versione 5.4 ...
apt-get remove libapache2-mod-php5 php-db php-pear php5 php5-cli php5-common
quindi è necessario ripulire i vecchi file (non necessario ma potrebbe aiutare)
apt-get clean
quindi come sopra modifica e aggiungi
nano /etc/apt/preferences.d/preferences
se il problema persiste, ripetere questa operazione, ma questa volta disabilita i repository che dicono respiro sibilante e lascia solo quelli laterali. potresti
apt-get install --reinstall
Ho dovuto fare un upgrade completo a wheezy cambiando le mie fonti apt con le fonti wheezy. Disinstallato php, aggiornato il sistema con le nuove fonti apt, installato php ... tutto è d'oro.