ホームページ >バックエンド開発 >PHPチュートリアル >PHP3とPHP4の共存例_PHPチュートリアル
筆者はphp3環境でプログラムのデバッグを行っていましたが、その後php4に移行してから色々と問題があると感じました。
主な理由は、php3 で正常に動作していた一部のプログラムが、php4 で突然多くの問題を発見したためです。
しかし、もともとphp4で使用していたプログラムをphp3に移行すると、xx関数が定義されていない、または特定の関数の構文が不完全であると言われました。そこでふと思ったのですが、両方インストールしてもいいでしょうか?両方のプログラムの互換性をテストすることもお勧めします。
著者が参照している php4/3 のインストールと説明書には、その方法が明記されていません。おそらく --enable-versioning コマンドと DSO モードを通じて 2 つが共存できるとだけ書かれています。では、DSO とはどのようなものなのでしょうか?著者はインストールと構成の実践を n 回繰り返し検討した結果、最終的に両方を同じ Web サーバーにインストールすることに成功しました。すべての .php3 ファイルは php3 によって解析され、.php ファイルは php4 によって解析されます。
実装原則:
2 つの異なるバージョンのパーサーを共存させるには、enable-versioning ディレクティブをいつ使用する必要がありますか?これは、後でインストールされるパーサーのバージョンによって異なるため、このコマンドはその後のインストール中にのみ使用する必要があります。つまり、最初に php4 をインストールし (この例の場合のように)、次に php3 をインストールする場合は、php3 を構成するときに、enable-versioning ディレクティブを追加する必要があります。その逆もまた真です。
インストールと設定の手順は次のとおりです:
1. 著者自身のシステムは php4 でインストールされ、静的モードを使用していることを考慮すると、DSO を使用する場合は php3 でのみ使用できます。しかし、バージョン管理の有効化はいつ追加されるのでしょうか?ドキュメントには明確な説明がないため、自分でテストするしかありません。ここでは、Apache をインストールするための構成手順については詳しく説明しません。 - -enable-track-vars
3. 注: php4 をコンパイルしてインストールした後、最初に Apache をインストールする必要があります。そうしないと、次のステップで DSO モードで php3 をインストールしてコンパイルするときに apxs スクリプトが使用できなくなります。そして、注意すべき点は、Apache を構成するときに、--enable-shared=max ディレクティブを追加して (つまり、dso メソッドを使用して)、Apache をコンパイルしてインストールする必要があることです。
4. 最後に、php3 を設定してコンパイルします。解凍後、次を実行します:
./configure --with-mysql=/www/mysql --with-apxs=/www/httpd/bin/apxs
> --enable-versioning
make
make install
全般基本的には問題ありません。
リーダーが php4rc1 などの古い php4 を使用している場合、php4rc1 ディレクトリの内容はコンパイルされず、コンパイル中に php3 ディレクトリの内容のみがコンパイルされるように見える場合があります。その場合、解決策は php4rc1 の名前を変更することです。 php4 をコンパイルした後のディレクトリに移動すれば問題ありません。
テスト: 一般に、コンパイルとインストールがスムーズに完了する限り、httpd.conf の php3 と php4 の設定を変更して、Apache を再起動するだけで済みます。
htdocs ディレクトリに test.php と test.php3 という 2 つのファイルを作成します。 通常の状況では、test.php を呼び出すと php4 の内容が表示され、test.php3 を呼び出すと php3 の内容が表示されます。
test.php/test.php3 の内容は次のとおりです。
phpinfo();
http://www.bkjia.com/PHPjc/629889.html
www.bkjia.com