ホームページ  >  記事  >  バックエンド開発  >  ThinkPHP3.2.3 を php5 から php7 にアップグレードするという困難な道について話しましょう

ThinkPHP3.2.3 を php5 から php7 にアップグレードするという困難な道について話しましょう

coldplay.xixi
coldplay.xixi転載
2021-03-02 09:17:323103ブラウズ

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

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

apache Load php support


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 サーバー関連の DLL を読み込まないためです

3. SQL Server 用の Microsoft Drivers for PHP https://www. SQL Server 用の Microsoft Drivers for PHP をダウンロードする必要があります。 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 までご連絡ください。