XAMPPを複数バージョンのPHPで動作させる


18

PHPの異なるバージョンで動作するようにXAMPPをインストールするにはどうすればよいですか?

XAMPPを使用するのは、WAMPで実行するとスクリプトの一部にバグがあるためです。さまざまなバージョンのPHPをサポートしているため、WAMPを使用しています。

しかし、今では、Web開発を管理しやすくするために、XAMPPに簡素化したいと思います。

PHPの複数のバージョンで動作するようにXAMPPを構成することは可能ですか?それとも、代替ソリューションで探す必要があるものですか?

注:Windows 7で実行しています。


Xamppの代わりにWAMPSERVERを使用することもできます。WAMPSEVERにはPHPバージョンスイッチトレイが含まれています。便利です。
ウェイジンジェイリン

回答:


8

ご注意
この答えはXAMPPの新しいバージョンには有効ではありません。


最初に、XAMPPからApache停止する必要があります。その後、

cmdに移動して、XAMPPフォルダーに切り替えます。たとえば、XAMPPフォルダーがC:\にある場合

C:\>cd C:\XAMPP 

このフォルダーには、という名前のファイルがありphp-switch.bat、コマンドラインから実行します。そうでない場合は、php-switch.bat直接実行することもできます。

現在のバージョンと切り替え手順が表示されます。たとえば、4PHP 4を切り替えるために入力し、手順に従います。

ターミナルで実行されているphp-switch.bat

PHP 4はXAMPP \ PHPディレクトリにインストールされ、正常に切り替えられます。次に、Apacheを再度有効にします。


1
XAMPP 1.7.3 iにphp-switch.batがインストールされていません。これをサポートする特定のxampバージョンはありますか?ありがとう!
Pennf0lio

おっとっと。現在のバージョンにはphp4は含まれていないと思いますapachefriends.org/f/viewtopic.php?f=16&t=33327 .. v4に切り替えたい場合は古いバージョンが必要になると思います
Ye Lin Aung

4
これは、XAMPPの新しいバージョンでは無効になっています。
モーリス

1
無効になったものは何ですか?PHP4またはswichingバージョンをインストールしますか?
-AlxVallejo

4
新しいバージョンではこれ以上php-switch.batはありません
Toskan 14

5

最良の方法は、PHP設定を変更することです

/apache/conf/extra/httpd-xampp.conf

使用するPHPの新しいバージョンを反映する

私の場合、PHP5.4をC:\ XAMPPLITE \ PHP5.4に解凍し、このファイルの次のようなキー行を更新しました。

SetEnv PHPRC "C:\\xampplite\\php5.4"

LoadFile "C:/xampplite/php5.4/php5ts.dll"

PHPINIDir "C:/xampplite/php5.4"

また、正しいバージョンのphp5apache2_2.dllがインストールされていることを確認する必要があります

これを確実にするために、新しいバージョンのphp5apache2_2.dllを一意の名前でApacheモジュールディレクトリにコピーし、それに合わせて構成を変更しました。

copy php5.4\php5apache2_2.dll apache\modules\php5apache2_2-5_4.dll

およびhttpd-xampp.confファイル内

LoadModule php5_module modules/php5apache2_2-5_4.dll

1

スクリプトにバグがある場合、切り替えたサーバーパッケージに関係なく、スクリプトはバグのままです。サーバーの構成に問題がある場合は、掘り下げて整理してください。

真のハードコアソリューションは、サーバーコンポーネント(およびその構成)を手動でインストールおよび管理することです。WAMPから自己管理サーバーインストールに切り替えたので、パッケージ化されたサーバーソリューションの必要性を二度と感じたことはありません。


アドバイスをありがとう!議論のほとんどは、スクリプトの問題に対する迅速で汚い解決策としてXAMPPを使用することを示唆しています。あなたがポイントを持っている間、私にとっては、サーバーを切り替えることは賢明です(なぜなら、私はどこから始めればいいのかわからないサーバー構成を台無しにすることと比較して)
Pennf0lio

まあ...遅かれ早かれ、設定(端末接続を介してサーバーを設定するなど)を掘り下げる以外の選択肢がない状況になるかもしれません。気が変わった場合は、XAMPP / WAMP / LAMPの事前定義された構成ファイルを、スタンドアロンサーバーの新規インストールの構成ファイルと比較し、それらの違いが何を意味するかをマニュアルで調べることもできます。それが私が今知っていることを学んだ方法です。
アンチクリス

ヒントをありがとう。ええ、私はあなたの主張に同意しますが、今のところは、一度に一つずつ私の問題に対処し、最も迅速な解決策に取りかかります。:PIには多くの期限があります。私は本当に助けに感謝します:)
Pennf0lio

同様の質問をしましたが、より多くの機能がありますserverfault.com/questions/121810/…xamppの apache、mysql、php、phpmyadminなどの個々の要素をアップグレードしたかったのです。私はまだこれに対する解決策を探しています。誰かが解決策を見つけたら、私に知らせてください。ありがとう
ガウラフシャルマ

1

その機能(つまり、Apache、mysql、およびphpコンポーネントビルドを組み合わせて一致させる機能)が必要で、サードパーティのバンドルされたAMPスタックアプリを好む場合、WindowsのオプションとしてWAMPServer 2.0を見ることができます。私が見たバンドルされたAMPオプション(Windows、Mac、およびLinux用)は、コンポーネントビルドをスワップアウトできません(PHP4とPHP5のスイッチは、レガシーコードのために実際にのみ提供されたため、コンポーネントビルドとして含まれていません) PHP5の下位互換性が高くなり、PHP4の存在が少なくなるまで問題があります)。

ほとんどのサードパーティバンドルAMPスタックアプリ、特にUnixベースのOSビルド(MacおよびLinux)は、「アプリ」ルートディレクトリと同じディレクトリ構造内にスタックコンポーネントを配置するために、特定のディレクティブで各コンポーネントをコンパイルする必要があり、最終的に一種のフォルダー参照とバイナリ署名を各コンポーネントにハードワイヤードする引数は、自分自身をビルドします....具体的にはmysqlおよびphpコンポーネントは、共有され、明確に参照およびインクルードされる必要があるライブラリオブジェクトを持っているためですソースのコンパイル中...(そして、ほとんどの場合、何らかのオプションのディレクティブとライブラリを含めてコンパイルするだけではないようです...それが問題を解決するかどうかはわかりません私のプロジェクトではまだ答えています)。

もう1つの注意点は、同じコンテキスト内にあるためです....自律インストールコンポーネントと_AMPPスタックの使用に関するコメントに関しては、3自律を使用してセットアップしようとしたため、残念ながら上記の内容しかわかりません。コンポーネントのソースコードと私のケーキを持って食べようとしました....以前にそれらのいずれかを扱った経験がなかった間に....だから、開発者がそうする2つの非常に説得力のある理由があると言えますローカル開発環境にはスタックを使用する必要があります。

1)プロジェクトでこのテクノロジーを利用しているが、1つのコンポーネントのコア内で明示的に機能を拡張していない場合は、ほとんどの場合、実行する必要があります。 3つのコンポーネントが互いにシームレスに通信するために必要なすべての構成を把握します。必要なディレクティブ、モジュール、ライブラリー、コンパイル引数などを知るのに数日間苦労する可能性があります。既に知っている場合は素晴らしいですが、彼らのためにやらない限り、知らない人には勧めないでください。

2)バンドルされたスタックは自律的であり、OS構成ファイルから分離されているため、重大な結果なしに開発環境を破棄できます。...必要な「etc」フォルダーにファイルをデプロイするスクリプトを実行する場合、あなたについて知っていますが、私は時々間違いを犯す可能性があり、.. / XAMPP / etcフォルダーの間違いは/ etcフォルダーの間違いよりもはるかに痛みが少ないです。

3)GUI ... GUI ... GUI ...誰もがモーツァルトのコマンドラインであるわけではなく、AMPPスタックはすべて、心のコンテンツに物事をオン/オフする素晴らしいGUIを提供します。GUIが必要な場合は、AMPP Stackアプリに引き寄せられます...気にしない場合、それはすべて、私のポイント#1&#2にどれだけの重量または在庫を置くかに依存します

とにかく、「あくびをする方法」の論文でごめんなさい、誰かがこれから何かを得ることを願っています。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.