私は自分のサーバーでDebian 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}'
これを試すこともできますが、自己責任で行ってください。私はそれを自分で試しませんでした。 ;)
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
を実行します
IonCube for 5.4は、私が読んだことから少し離れています。
両方のphpバージョンを並行してインストールできます。 PHP 5.5xおよび5.3xまたは3つでもPHPパラレルバージョンPHP 5.5x、5.4xおよび5.3xを使用してfastcgi。
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。すべてをテストする
サイトを有効にしてApacheを再起動し、phpinfo()で/ var/www/fastcgidemoに新しいファイルを作成して構成をテストします。
ブラウザに移動し、fastcgidemo.devと入力します
それがお役に立てば幸い!
完全なチュートリアル:
http://www.jabommi.de/wiki/downgrade-php-5-5-to-5-3-ubuntu-14-with-multiple-php-versions/
最初に、インストールしたものを確認します
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
それでも動作しない場合は、これを繰り返しますが、今回はwheezeと言うリポジトリを無効にし、sidリポジトリのみを残します。あなたは出来る
apt-get install --reinstall
まず、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
Aptitudeを使用してパッケージを保持することもできます。例:
Sudo aptitude hold php5
保留を解除:
Sudo aptitude unhold php5