您好,登錄后才能下訂單哦!
這篇文章主要介紹了ThinkPHP3.2.3從php5升級到php7的方法,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
首先ThinkPHP3.2.3支持php7嗎, 絕對支持。
windows下,之前用的項目是部署在Apache2.4.17+php5.x版本, 因為客戶那邊網絡安全掃描,發現很多漏洞,其中有apache、php的高危漏洞,多達上百次, 急需修復,如不修復將面臨站點關閉的風險。
于是聯系軟件供應商,那邊之前答應配合升級,最終未能升級, 給到的回復是ThinkPHP3.2.3不能部署在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的方法”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。