重新安裝古老的 PHP 5.6.40

網路與網站相關議題和知識
回覆文章
dtchang
Site Admin
文章: 143
註冊時間: 2017-01-22, 16:54

重新安裝古老的 PHP 5.6.40

文章 dtchang » 2025-08-06, 22:24

到舊存區找到 PHP 5.6.40 這是 PHP 7.x 以前能找到的最後版本
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/
找到 x64 (64 bit版本; 已很少機器是裝 32 bit版本了)
1/10/2019 1:38 AM 23154551 php-5.6.40-Win32-VC11-x64.zip
下載後存放在 C:\php-5.6.40 下
因為 php-5.6.40 是用 VC11 編譯的,故需裝舊版的
Visual C++ Redistributable for Visual Studio 2012 (VC11)
X64 11.0.61030.0 en_visual_cpp_redistributable_for_visual_studio_2012_update_4_x64_3161523.exe
不然運行 apache24 時會產生如下的錯誤:
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
那一串亂碼是big5碼,意思是: "找不到指定的模块。" 安裝 VC11 套件後即可正常載入.

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"
若再不行,記憶中的古老回憶, 好像把 libeay32.dll 和 libssh2.dll 複製到 windows\system32 之下再試.

回覆文章