PHP 7 和 PHP 5 語法支持上差很多,古老的系統從 PHP 5.6 改到 7.4.33 是不好改的哦.最好先有規劃再著手.
我想把 ocs-2.3.6 改到 7.4.33 (windows 2016 可運行的 PHP 版本),遇到OOP function()參數相容的問題,改到一團亂!
把 7.4.33 改到 PHP 8.x 或許也是一段辛苦路.
代碼: 選擇全部
https://windows.php.net/downloads/releases/archives/
下載後存放在 C:\php-5.6.40 下1/10/2019 1:38 AM 23154551 php-5.6.40-Win32-VC11-x64.zip
因為 php-5.6.40 是用 VC11 編譯的,故需裝舊版的
Visual C++ Redistributable for Visual Studio 2012 (VC11)
不然運行 apache24 時會產生如下的錯誤:X64 11.0.61030.0 en_visual_cpp_redistributable_for_visual_studio_2012_update_4_x64_3161523.exe
那一串亂碼是big5碼,意思是: "找不到指定的模块。" 安裝 VC11 套件後即可正常載入.C:\Apache24\bin>httpd.exe -t
httpd.exe: Syntax error on line 748 of C:/Apache24/conf/httpd.conf: Cannot load C:/php-5.6.40/php5ts.dll into server: \xa7\xe4\xa4\xa3\xa8\xec\xab\xfc\xa9w\xaa\xba\xbc\xd2\xb2\xd5\xa1C
apache24 httpd.conf 加入一段指引:
代碼: 選擇全部
PHPIniDir "C:/php-5.6.40"
LoadFile "C:/php-5.6.40/php5ts.dll"
LoadModule php5_module "C:/php-5.6.40/php5apache2_4.dll"
AddType application/x-httpd-php .php
# load curl and open ssl libraries
LoadFile "C:/php-5.6.40/libeay32.dll"
LoadFile "C:/php-5.6.40/ssleay32.dll"
LoadFile "C:/php-5.6.40/libssh2.dll"