首頁  >  文章  >  後端開發  >  聊聊ThinkPHP3.2.3從php5升級到php7艱辛之路

聊聊ThinkPHP3.2.3從php5升級到php7艱辛之路

coldplay.xixi
coldplay.xixi轉載
2021-03-02 09:17:323077瀏覽

聊聊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刪除