溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

ThinkPHP3.2.3從php5升級(jí)到php7的方法

發(fā)布時(shí)間:2021-04-14 10:44:18 來(lái)源:億速云 閱讀:430 作者:小新 欄目:編程語(yǔ)言

這篇文章主要介紹了ThinkPHP3.2.3從php5升級(jí)到php7的方法,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

首先ThinkPHP3.2.3支持php7嗎, 絕對(duì)支持。

windows下,之前用的項(xiàng)目是部署在Apache2.4.17+php5.x版本, 因?yàn)榭蛻裟沁吘W(wǎng)絡(luò)安全掃描,發(fā)現(xiàn)很多漏洞,其中有apache、php的高危漏洞,多達(dá)上百次, 急需修復(fù),如不修復(fù)將面臨站點(diǎn)關(guān)閉的風(fēng)險(xiǎn)。

于是聯(lián)系軟件供應(yīng)商,那邊之前答應(yīng)配合升級(jí),最終未能升級(jí), 給到的回復(fù)是ThinkPHP3.2.3不能部署在php7。

于是只能靠自己,摸索了三四天, 終于升級(jí)成功,現(xiàn)在跟大家分享一下大致過(guò)程。

一、升級(jí)apache, 下載地址http://httpd.apache.org/download.cgi ,下載的版本是,2.4.33

其中最主要的就是配置文件如下圖:

ThinkPHP3.2.3從php5升級(jí)到php7的方法

apache加載php支持

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

在此步驟遇到過(guò)不少問(wèn)題,啟用PHPIniDir路徑,apache就啟動(dòng)不了,最后發(fā)現(xiàn)是php.ini文件引用了 php_ptheads.dll多線程引起的。反復(fù)嘗試, 問(wèn)題才得以解決。

二、升級(jí)php, 下載地址:https://windows.php.net/download/  此處下載的是7.2.26,

現(xiàn)總結(jié)一下升級(jí)php7預(yù)到的問(wèn)題

1、此處需要安裝php7對(duì)應(yīng)的編譯vc++類庫(kù)版本  , vc_redist.x64.exe, 安裝的是vc15

2、sql server數(shù)據(jù)庫(kù)支持

ThinkPHP3.2.3從php5升級(jí)到php7的方法

此處是因?yàn)閜hp7默認(rèn)沒(méi)有加載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版本

修改位置文件如下

ThinkPHP3.2.3從php5升級(jí)到php7的方法

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

三、以為系統(tǒng)已經(jīng)能正常在php7下運(yùn)行, 結(jié)果項(xiàng)目用到了多線程,需要php支持pthreads,此刻已近奔潰,php.ini文件中加了extension=pthreads后, apache又啟動(dòng)不了。原來(lái)ptheads需要在cli模式下運(yùn)行,ptheads下載地址 https://windows.php.net/downloads/pecl/releases/pthreads/

解壓下載包

1、把pthreadVC2.dll文件放在php根目錄下

2、php_pthreads.dll拷貝到php\ext目錄下,

再次啟動(dòng)apache,發(fā)現(xiàn)一直啟動(dòng)不了, 找了好多資料, 原來(lái)ptheads需要運(yùn)行在cli模式下, 我的解決方案是建兩個(gè)php.ini配置文件, 一個(gè)供站點(diǎn)使用php.ini 另一個(gè)php-cli.ini文件供ptheads使用, 文件內(nèi)容一樣,此時(shí)升級(jí)之路總算完成。

由于樓主非php科班出生, 走了不少?gòu)澛罚?但是漏洞總算得以修復(fù), 如果大家也同樣碰到此問(wèn)題, 可以一起交流, 討論。

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“ThinkPHP3.2.3從php5升級(jí)到php7的方法”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI