您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“ThinkPHP3.2.3怎么從php5升級到php7”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“ThinkPHP3.2.3怎么從php5升級到php7”這篇文章吧。
首先ThinkPHP3.2.3支持php7嗎, 絕對支持。
windows下,之前用的項目是部署在Apache2.4.17+php5.x版本, 因為客戶那邊網(wǎng)絡(luò)安全掃描,發(fā)現(xiàn)很多漏洞,其中有apache、php的高危漏洞,多達(dá)上百次, 急需修復(fù),如不修復(fù)將面臨站點(diǎn)關(guān)閉的風(fēng)險。
于是聯(lián)系軟件供應(yīng)商,那邊之前答應(yīng)配合升級,最終未能升級, 給到的回復(fù)是ThinkPHP3.2.3不能部署在php7。
于是只能靠自己,摸索了三四天, 終于升級成功,現(xiàn)在跟大家分享一下大致過程。
一、升級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就啟動不了,最后發(fā)現(xiàn)是php.ini文件引用了 php_ptheads.dll多線程引起的。反復(fù)嘗試, 問題才得以解決。
二、升級php, 下載地址:https://windows.php.net/download/ 此處下載的是7.2.26,
現(xiàn)總結(jié)一下升級php7預(yù)到的問題
1、此處需要安裝php7對應(yīng)的編譯vc++類庫版本 , vc_redist.x64.exe, 安裝的是vc15
2、sql server數(shù)據(jù)庫支持
此處是因為php7默認(rèn)沒有加載sql server 相關(guān)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 如上圖配置就行 , 當(dāng)前需要把解壓的文件拷貝到php\ext目錄下
三、以為系統(tǒng)已經(jīng)能正常在php7下運(yùn)行, 結(jié)果項目用到了多線程,需要php支持pthreads,此刻已近奔潰,php.ini文件中加了extension=pthreads后, apache又啟動不了。原來ptheads需要在cli模式下運(yùn)行,ptheads下載地址 https://windows.php.net/downloads/pecl/releases/pthreads/
解壓下載包
1、把pthreadVC2.dll文件放在php根目錄下
2、php_pthreads.dll拷貝到php\ext目錄下,
再次啟動apache,發(fā)現(xiàn)一直啟動不了, 找了好多資料, 原來ptheads需要運(yùn)行在cli模式下, 我的解決方案是建兩個php.ini配置文件, 一個供站點(diǎn)使用php.ini 另一個php-cli.ini文件供ptheads使用, 文件內(nèi)容一樣,此時升級之路總算完成。
以上是“ThinkPHP3.2.3怎么從php5升級到php7”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。