首頁 >後端開發 >PHP7 >ThinkPHP3.2.3從php5升級到php7的路程介紹

ThinkPHP3.2.3從php5升級到php7的路程介紹

coldplay.xixi
coldplay.xixi轉載
2021-04-14 10:38:571834瀏覽

ThinkPHP3.2.3從php5升級到php7的路程介紹

       首先ThinkPHP3.2.3支援php7嗎, 絕對支援。

       windows下,先前使用的項目是部署在Apache2.4.17 php5.x版本, 因為客戶那邊網路安全掃描,發現很多漏洞,其中有apache、php的高危險漏洞,多達百次, 急需修復,如不修復將面臨網站關閉的風險。

       於是聯絡軟體供應商,那邊之前答應配合升級,最終未能升級, 給到的回復是ThinkPHP3.2.3不能部署在php7。

       於是只能靠自己,摸索了三四天, 終於升級成功,現在跟大家分享一下大致過程。

推薦(免費):PHP7

#一、升級apache, 下載網址http://httpd.apache.org/download.cgi ,下載的版本是,2.4.33

       其中最主要的是設定檔如下圖:

apache載入php支援

# PHPIniDir d:/GPS-LOCK/php/php.ini
LoadModule php7_module D:/GPS-LOCK/php/php7apache2_4.dll

在此步驟遇到不少問題,啟用PHPIniDir路徑, apache就啟動不了,最後發現是php.ini檔案引用了php_ptheads.dll多執行緒所引起的。反覆嘗試, 問題才得以解決。

二、升級php, 下載位址:https://windows.php.net/download/  此處下載的是7.2.26,

現總結升級php7預到的問題

1、這裡需要安裝php7對應的編譯vc 類別庫版本  , vc_redist.x64.exe, 安裝的是vc15

2、sql server資料庫支援

 

 此處是因為php7預設沒有載入sql server 相關dll 

3、需要下載 Microsoft Drivers for PHP for SQL Server https://www.microsoft .com/en-us/download/details.aspx?id=20098 ,我下載的是7.2版本

修改位置檔案如下

4、 php7中php.ini文件, ext是省略了php_.dll 如上圖配置就行, 目前需要把解壓縮的文件拷貝到php\ext目錄下

三、以為系統已經能正常在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模式下, 我的解決方案是建立兩個php.ini配置文件, 一個供站點使用php.ini 另一個php-cli.ini文件供ptheads使用, 文件內容一樣,此時升級之路總算完成。

由於樓主非php科班出生, 走了不少彎路, 但是漏洞總算得以修復, 如果大家也同樣碰到此問題, 可以一起交流, 討論。

以上是ThinkPHP3.2.3從php5升級到php7的路程介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:csdn.net。如有侵權,請聯絡admin@php.cn刪除