ホームページ  >  記事  >  バックエンド開発  >  ThinkPHP3.2.3 を php5 から php7 にアップグレードするプロセスの紹介

ThinkPHP3.2.3 を php5 から php7 にアップグレードするプロセスの紹介

coldplay.xixi
coldplay.xixi転載
2021-04-14 10:38:571789ブラウズ

ThinkPHP3.2.3 を php5 から php7 にアップグレードするプロセスの紹介

まず第一に、ThinkPHP3.2.3 は php7 をサポートしていますか? もちろんサポートします。

Windows では、以前のプロジェクトは Apache2.4.17 php5.x バージョンでデプロイされましたが、お客様のネットワーク セキュリティ スキャンにより、Apache と php の高リスクの脆弱性を含む多くの脆弱性が数百回も発見されたためです。 , 緊急に修理が必要な場合、修理しない場合はサイト閉鎖のリスクがあります。

そこでソフトウェア供給元に問い合わせたところ、以前はアップグレードに協力してくれると約束していましたが、最終的にはアップグレードできず、ThinkPHP3.2.3 は php7 にはデプロイできないとの返事でした。

そこで、私は自分自身に頼るしかありませんでした。3 ~ 4 日間手探りした後、最終的にアップグレードに成功しました。ここで、一般的なプロセスを共有します。

推奨 (無料): PHP7

1. Apache をアップグレードし、ダウンロード アドレス http://httpd.apache.org/download.cgiダウンロードされたバージョンは 2.4.33

最も重要なのは、以下に示す構成ファイルです。

##apacheloadingphpsupport

PHPIniDir d:/GPS-LOCK/php/php.ini

LoadModule php7_module D:/GPS-LOCK/php/php7apache2_4.dll

このステップで多くの問題が発生しました。PHPIniDir パス、Apache を有効にしてください最後に、php.ini ファイルが php_ptheads.dll マルチスレッドを参照していることが判明しました。何度も試行した結果、問題は解決されました。

2. php のアップグレード、ダウンロード アドレス: https://windows.php.net/download/ ここでダウンロードされるのは 7.2.26 です、

次に、アップグレード時に予想される問題をまとめます。 php7

1. ここでは、php7 に対応するコンパイル済み vc クラス ライブラリ バージョン、vc_redist.x64.exe をインストールする必要があります。インストールは vc15

2、SQL サーバー データベース サポート

これは、php7 がデフォルトで SQL Server 関連の DLL をロードしないためです

3. SQL Server 用の PHP 用 Microsoft Drivers をダウンロードする必要がありますhttps://www.microsoft .com/en-us/download/details.aspx?id=20098、バージョン 7.2 をダウンロードしました。

#ロケーション ファイルを次のように変更します。

#4, php7 の php.ini ファイルでは、ext で php_.dll が省略されているので、上記のように設定するだけですが、現時点では解凍したファイルを php\ext ディレクトリにコピーする必要があります。 #3. システムは php7 で正常に実行できると思います。その結果、プロジェクトはマルチスレッドを使用し、PHP で pthreads をサポートする必要があります。クラッシュしようとしています。php.ini ファイルに extension=pthreads を追加した後、Apache は実行できません再開する。 ptheads は cli モードで実行する必要があることが判明しました。ptheads のダウンロード アドレスは https://windows.php.net/downloads/pecl/releases/pthreads/

ダウンロード パッケージを解凍します

1. pthreadVC2 を置きます。dll ファイルは php ルート ディレクトリに配置されます。

2. php_pthreads.dll を php\ext ディレクトリにコピーします。

Apache を再度起動して、それができないことを確認します。多くの情報を検索した結果、ptheads は cli モードで実行する必要があることがわかり、私の解決策は 2 つの php.ini 設定ファイルを作成し、1 つはサイトで php.ini を使用し、もう 1 つは php-cli.ini を使用することです。 ptheads が使用するファイルです。ファイルの内容は同じです。この時点で、アップグレードは最終的に完了します。

元投稿者はPHP専攻の出身ではないので、色々回り道をしましたが、ようやく抜け穴が修正されましたので、皆さんもこの問題に遭遇したら、コミュニケーションをとり、一緒に話し合ってみましょう。

以上がThinkPHP3.2.3 を php5 から php7 にアップグレードするプロセスの紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcsdn.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。