81

PHP 5.0.0 や PHP 5.2.8 など、PHP 5.x の複数のバージョンで PHP アプリケーションをテストする必要があります。

PHP5 の複数のバージョンでアプリケーションをすばやくテストできるように、開発用 LAMP サーバーを構成する方法はありますか?

4

9 に答える 9

10

apache + phpのインスタンスを複数持つことは、私の空想をくすぐることはありませんが、おそらくそれを行う最も簡単な方法です。あなたがKISSのように感じないなら...ここにアイデアがあります。

apacheを起動して実行し、debianやubuntuのように構成してみてください。たとえば、ロードされたモジュール用のディレクトリがあります。apache confは、次のような行を使用できます。

Include /etc/apache2/mods-enabled/*.load
Include /etc/apache2/mods-enabled/*.conf

次に、phpの最初のバージョンを作成し、バージョン番号が明示的に含まれているプレフィックスを付けます(例:/usr/local/php/5.2.8、/usr/local/php/5.2.6 .. ..

conf/loadは次のようになります。

php5.2.6.load

LoadModule php5_module /usr/local/php/5.2.6/libphp5.so

php5.2.8.load

LoadModule php5_module /usr/local/php/5.2.8/libphp5.so

バージョンを切り替えるには、apacheが別のバージョンのインクルードを行うディレクトリからloadファイルとconfファイルを変更するだけです。簡単なbashスクリプトでこれを自動化できます(実際のファイルを削除し、代替バージョンのファイルを所定の場所にコピーして、apacheを再起動します。

この設定の利点の1つは、すべてが一貫していることです。ただし、オプションとモジュールに関してphp.iniを同じに保つ限り(とにかくCGIで行う必要があります)。それらはすべてSAPIを通過しています。アプリケーションを変更する必要はなく、相対URLを使用する必要もありません。

これはうまくいくはずだと思いますが、繰り返しになりますが、私はそれを試していません。また、あなたと同じ要件がないため、そうする可能性もありません。試したことがあればコメントしてください。

于 2009-02-12T07:00:22.697 に答える
3

Ubuntu 10 で PHP5.3 からのダウングレードに成功しました。

これを行うには、次のスクリプトを使用しました。

#! /bin/sh
php_packages=`dpkg -l | grep php | awk '{print $2}'`

sudo apt-get remove $php_packages

sed s/lucid/karmic/g /etc/apt/sources.list | sudo tee /etc/apt/sources.list.d/karmic.list

sudo mkdir -p /etc/apt/preferences.d/

for package in $php_packages;
do echo "Package: $package
Pin: release a=karmic
Pin-Priority: 991
" | sudo tee -a /etc/apt/preferences.d/php
done

sudo apt-get update

sudo apt-get install $php_packages

コマンドラインからスクリプトを実行する方法がわからない人のために、簡単なチュートリアルを次に示します。

1. cd ~/
2. mkdir bin
3. sudo nano ~/bin/myscriptname.sh
4. paste in the script code I have posted above this
5. ctrl+x (this exits and prompts for you to save)
6. chmod u+x myscriptname.sh

これらの 6 つの手順により、ホーム ディレクトリの「bin」というフォルダーにスクリプトが作成されます。次に、次のコマンドを呼び出して、このスクリプトを実行できます。

~/bin/myscriptname.sh

オイリア!

これがあなたの何人かを助けることを願っています!

参考までに、スクリプトを入手した場所は次の とおりです。PHP5.2.10 for Ubuntu 10

そこには何人かの人々がいて、これが機能することを確認しており、私にとってはうまくいきました.

于 2010-08-10T10:51:25.543 に答える
2

PHP を作成した Rasmus Lerdorf は、あなたのニーズを解決すると思われるアクティブな Vagrant ソリューションを維持しています。PHP のバージョンをすばやく切り替えることができ、現在 20 以上の異なるバージョンをサポートしています。これはnginxサーバーですぐに使用できますが、事前構成された設定で簡単にapache2に切り替えることができます. また、MySQL をすぐにサポートします。

このようにして、PHP の背後にいる大物によって維持されている素敵な vagrant ボックスで、2 つのメイン Web サーバーにデプロイ可能な PHP のすべてのバージョンにアクセスできます。

詳細については、氏による講演を参照したいと思います。https://youtu.be/6XnysJAyThs?t=2864のラードルフ

Vagrant ソリューションを含む github リポジトリは、https://github.com/rlerdorf/php7devにあります。

于 2016-12-06T07:53:20.387 に答える
0

テストのために、異なる IP アドレスで httpd の複数のインスタンスを実行しただけなので、php7 を 192.168.0.70 で実行し、php5.6 を 192.168.0.56 で実行しています。本番環境では、php5.3 を実行している古い oscommerce を実行しているサイトがあり、サイト用に別の conf ファイルを持っているだけです

httpd -f /etc/apache2/php70.conf
httpd -f /etc/apache2/php53.conf

またphp.ini、さまざまなサイトにさまざまなファイルを用意するためのクリーンな方法でもあります。物事を整理しておくための良い方法であり、何かをアップグレードするときに一度に複数のサイトについて心配する必要がない場合、いくつかのサイトしかない場合

于 2016-12-31T22:05:16.337 に答える