其中的無法顯示的亂碼意思為:
「找不到指定的模組。」 > (英文原始訊息為:The specified module could not be found.)
問題出在找不到 php_intl.dll 底層所需的 ddl. 決解方式為將 php安裝目錄 下的所有ICU函數庫 icu*.ddl 複制到 apache24\bin 目錄下,重啟 apache 即可修復問題.
(不建議複製到 Windows 系統目錄)
以 php 5.6.40 為例,其 apache 的 httpd.conf 中可用 LoadFile 加入一些常用的 DDL (減少複製到 apache24\bin 下)設定:
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"
另外常見的問題為沒有安裝相應的 VC++ runtime (如: php 5.6 為 VC 2012)
可選擇 「終端機 (系統管理員)」 或 PowerShell下指令查詢:
代碼: 選擇全部
Get-Package -Name "Microsoft Visual C++*" | Select-Object Name, Version