내 서버에서 데비안 dist-upgrade를 수행해야했습니다 ... 그 과정에서 PHP는 5.4로 업그레이드되었습니다. 우리는 5.3 atm까지만 지원하는 ioncube를 사용하며 5.4에서 5.3으로 다운 그레이드하는 방법을 찾는 데 어려움을 겪고 있습니다. 아무도 어떻게 알아?
내 서버에서 데비안 dist-upgrade를 수행해야했습니다 ... 그 과정에서 PHP는 5.4로 업그레이드되었습니다. 우리는 5.3 atm까지만 지원하는 ioncube를 사용하며 5.4에서 5.3으로 다운 그레이드하는 방법을 찾는 데 어려움을 겪고 있습니다. 아무도 어떻게 알아?
답변:
위의 해결책 중 어느 것도 나를 위해 일하지 않았습니다. 필요한 것은 필요한 패키지를 오래된 마구간에 고정시키는 것입니다.
에 다음을 추가하십시오 /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
창조하다
/etc/apt/preferences.d/preferences
필자의 경우와 같이 다운 그레이드해야 할 패키지를 추가하십시오.
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
그런 다음 명령을 실행하십시오.
aptitude update
aptitude reinstall <necessary packages>
/etc/init.d/apache2 restart
업그레이드해야 할 패키지를 알고 싶다면 다음을 실행하십시오.
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
시도해 볼 수는 있지만 위험을 감수하십시오. 나는 그것을 직접 시도하지 않았다. ;)
apt-get remove php5
dpkg --force php5_5.3.3-7+squeeze8_all.deb
dpkg --set-selections PHP5 hold
5.4 로의 업그레이드를 막는 마지막 줄. 5.4 준비가되면 다음을 실행하십시오.dpkg --set-selections PHP5 install
5.4 용 IonCube는 내가 읽은 내용과 약간 다릅니다.
dpkg: error: unknown force/refuse option 'php5_5.3.3-7+squeeze13_all.deb'
PHP 5.5x 및 5.3x와 같은 PHP 버전을 병렬로 설치하거나 fastcgi를 사용하여 PHP 5.5x, 5.4x 및 5.3x와 같은 세 가지 PHP 버전을 병렬로 설치할 수 있습니다.
1. 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. PHP를 컴파일하고 확인하십시오
cd /opt/phpfarm/src
sudo ./compile.sh 5.3.29
cd /opt/phpfarm/inst/bin
./php-5.3.29 --version
3. 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
이 파일을 실행 가능하게 만드십시오.
4. 새로운 가상 호스트 생성
이것을 호스트에 넣으십시오.
<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>
/ etc / hosts에 도메인 추가
127.0.0.1 fastcgidemo.dev
5. 모든 것을 테스트
사이트를 활성화하고 아파치를 다시 시작하고 / var / www / fastcgidemo에서 phpinfo ()를 사용하여 새 파일을 만들어 구성을 테스트하십시오.
브라우저로 이동하여 fastcgidemo.dev를 입력하십시오
그것이 도움이되기를 바랍니다!
전체 튜토리얼 :
http://www.jabommi.de/wiki/downgrade-php-5-5-to-5-3-ubuntu-14-with-multiple-php-versions/
먼저 php5에서 지원되는 버전을 확인하십시오.
apt-cache showpkg php5
다음은 유용한 스크립트입니다 ( PHP 5.4를 제거하고 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
명령으로 확인할 수있는 버전 : apt-cache showpkg php5
설치 후 다음 명령으로 확인하십시오. php --version
php5-xcache와 같이 패키지 버전이 지정되지 않은 다른 패키지는 설치하지 마십시오. 그렇지 않으면 apt-get이 PHP 인스턴스를 5.4로 다시 바꿉니다!
이런 일이 발생하지 않도록 이러한 패키지를 보관할 수 있습니다.
dpkg로 패키지를 유지하려면 다음 명령을 실행할 수 있습니다.
echo "php5 hold" | sudo dpkg --set-selections
모든 PHP 패키지를 보유하려면 다음 명령을 실행하십시오.
dpkg --get-selections | grep ^php5 | sed s/install/hold/g | sudo dpkg --set-selections
다음 명령은 PHP 패키지의 보류 상태를 보여줍니다.
sudo dpkg --get-selections | grep ^php
적성을 사용하여 패키지를 보유 할 수도 있습니다. 예 :
sudo aptitude hold php5
보류 :
sudo aptitude unhold php5
먼저 내가 설치 한 것을 살펴볼 것입니다
dpkg -l |grep php
그런 다음 5.4 버전의 PHP를 제거하십시오 ...
apt-get remove libapache2-mod-php5 php-db php-pear php5 php5-cli php5-common
그런 다음 이전 파일을 정리해야합니다 (필요하지는 않지만 도움이 될 수 있음)
apt-get clean
그런 다음 위의 편집 및 고정
nano /etc/apt/preferences.d/preferences
그래도 작동하지 않으면이 반복하지만 이번에는 천명 소리가 나는 저장소를 비활성화하고 sid 저장소 만 남겨 두십시오. 넌 할 수있어
apt-get install --reinstall
내 apt 소스를 wheezy 소스로 변경하여 wheezy로 완전히 업그레이드해야했습니다. PHP를 제거하고 새로운 적절한 소스로 시스템을 업그레이드하고 PHP를 설치했습니다 ... 모든 것이 황금색입니다.