Views: 259
APPSERV PHP7 升級到 PHP Version 8.3.8
AppServ 9.3.0 內容:
Apache 2.4.41
PHP 7.3.10
MySQL 8.0.17
phpMyAdmin 4.9.1
Support TLS,SSL or https
For 64bit only
Release Date : 2019-09-29
網路上CVE-2024-4577資料參考:
PHP 於 2024-06-06 間發布最新漏洞修補安全更新,協助使用者緩解重大 RCE 漏洞 CVE-2024-4577 所帶來的威脅。 依照 PHP 公告建議,需將系統更新至 8.3.8、8.2.20、8.1.29 版本,避免漏洞遭有心人士利用,且CVE-2024-4577該漏洞具高度的易用性及嚴重性。
以下是我的更新方式:
1. 到PHP官網 https://windows.php.net/download 下載最新版本。
2.下載完成後進行解壓縮,在安裝網站伺服器的根目錄,例如我的安裝在本機的D:\AppServ中,在D:\AppServ建立一個名為php8的資料夾,然後將剛才解壓縮的最新版的PHP檔案全部複製到這個資料夾裡面。
3.將 D:\AppServ\php8\ 中的 php.ini-production 複製一份,然後將其重新命名為 php.ini。
4.開啟 php.ini 檔案並找到檔案中的以下程式碼:
將前面的分號拿掉,改為:extension_dir = “D:\AppServ\php8\ext”
5.在 php.ini 檔案中搜尋 Extension=,並將其及需要的程式前面的分號去掉,這樣就可以開啟常用的擴充功能。
*:用檔案比對軟體
6.找到並開啟 D:\AppServ\Apache24\conf\httpd.conf 檔案。
改為1:LoadModule php_module D:/AppServ/php8/php8apache2_4.dll
改為2:<IfModule mod_php.c>
改為3:PHPIniDir “D:/AppServ/php8/”
*:用檔案比對軟體
全部改過之後,在電腦-管理-服務和應用程式-服務裡面重啟一下 Apache24 服務。
用網址看 phpinfo.php 可以看到PHP版已經更到最新下載的PHP8版本了。
錯誤排解:
PHP Fatal error: Array and string offset access syntax with curly braces is no longer supported
PHP8.0 不再能夠使用花括弧來訪問陣列或者字串的偏移.需要將{}修改成[] 就可以解決問題
陣列元素不可再使用大括號 {} 操作,需要使用中括號 []
原:return $sky[$year{3}].$earth[$year%12];
改:return $sky[$year[3]].$earth[$year%12];