Faça downgrade do PHP 5.4 para 5.3 no Debian

8

Eu tive que fazer um dist-upgrade do Debian no meu servidor ... no processo, o PHP foi atualizado para o 5.4. Usamos o ioncube, que suporta apenas até 5,3 atm, e estou tendo problemas para descobrir como fazer o downgrade para 5,3 de 5,4. Alguém sabe como?

    
por Carnivoris 08.03.2012 / 19:00

6 respostas

11

Nenhuma das soluções acima funcionou para mim. O que funcionou foi fixar os pacotes necessários para o antigo estável, como

Adicione o seguinte 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

Criar

/etc/apt/preferences.d/preferences

Adicione os pacotes que você precisa fazer o downgrade, como no meu 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

Em seguida, execute os comandos

aptitude update
aptitude reinstall <necessary packages>
/etc/init.d/apache2 restart

Se você quiser saber quais pacotes você precisa atualizar, execute:

dpkg -l|grep php|grep 5.4|awk '{print $2}'
    
por 15.05.2013 / 05:29
2

Você pode tentar isso, mas faça por sua conta e risco. Eu não tentei eu mesmo. ;)

  • apt-get remove php5
  • Faça o download do pacote PHP5 do Stable
  • dpkg --force php5_5.3.3-7+squeeze8_all.deb
  • dpkg --set-selections PHP5 hold

A última linha para impedir a atualização para o 5.4. Quando você estiver pronto para o 5.4, execute dpkg --set-selections PHP5 install

O IonCube for 5.4 está um pouco fora do que eu li.

    
por 08.03.2012 / 19:40
1

Você pode instalar ambas as versões php paralelas, por exemplo, PHP 5.5xe 5.3x ou até mesmo três versões do PHP paralelas, e. PHP 5.5x, 5.4xe 5.3x usando fastcgi.

1. Instalar 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. Compile o PHP e verifique-o

cd /opt/phpfarm/src
sudo ./compile.sh 5.3.29
cd /opt/phpfarm/inst/bin
./php-5.3.29 --version

3. Configurar 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

Torne este arquivo executável.

4. Crie um novo host virtual

Coloque isso no seu 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>

Adicione os domínios ao / etc / hosts

127.0.0.1 fastcgidemo.dev

5. Teste tudo

Ative o site e reinicie o apache e crie um novo arquivo com o phpinfo () em / var / www / fastcgidemo para testar sua configuração.

Vá para o navegador e digite fastcgidemo.dev

Espero que ajude!

Tutorial completo sobre:

link

    
por 02.02.2015 / 09:27
0

Fazendo o downgrade do PHP 5.4 para 5.3

Primeiro verifique quais versões são suportadas para o php5:

apt-cache showpkg php5

Aqui está o script que você pode achar útil ( ele remove o PHP 5.4 e instala o 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

Onde as versões disponíveis você pode verificar pelo comando: apt-cache showpkg php5

Após a instalação, verifique-o pelo comando: php --version

Por favor tenha cuidado e não instale nenhum outro pacote sem a versão do pacote especificada (como php5-xcache), caso contrário o apt-get irá substituir sua instância do PHP com o 5.4 novamente!

Para evitar que isso aconteça, você pode manter esses pacotes.

Mantendo pacotes usando o dpkg

Para guardar pacotes pelo dpkg, você pode executar o seguinte comando:

echo "php5 hold" | sudo dpkg --set-selections

Para manter todos os pacotes PHP, execute o seguinte comando:

dpkg --get-selections | grep ^php5 | sed s/install/hold/g | sudo dpkg --set-selections

O comando a seguir mostrará o status dos seus pacotes php:

sudo dpkg --get-selections | grep ^php

Mantendo pacotes usando o aptitude

Você também pode manter pacotes usando o aptitude, por exemplo:

sudo aptitude hold php5

Dispor:

sudo aptitude unhold php5

Extras

Veja também as mesmas perguntas para o Ubuntu, para mais algumas ideias.

    
por 21.11.2012 / 11:06
0

Primeiro, verifico o que instalei

dpkg -l |grep php

depois desinstale qualquer php que seja o exemplo da versão 5.4 ...

apt-get remove libapache2-mod-php5 php-db php-pear php5 php5-cli php5-common

então você precisa limpar os arquivos antigos (não é necessário, mas pode ajudar)

apt-get clean

depois, como acima, edite e fixe

nano /etc/apt/preferences.d/preferences

se isso ainda não funcionar repita isso mas desta vez desative os repositórios que são dizer chiado e deixe apenas os sid. você poderia

apt-get install --reinstall 
    
por 23.05.2015 / 02:11
-1

Eu tive que fazer uma atualização completa para wheezy, alterando minhas fontes apt para as fontes wheezy. Php desinstalado, atualizado o sistema com o novo apt fontes, instalado php ... tudo é de ouro.

    
por 08.03.2012 / 21:35

Tags