apache 運行 php 錯誤訊息: Unable to load dynamic library 'C:/php-5.6.40/ext\php_intl.dll' ...

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

apache 運行 php 錯誤訊息: Unable to load dynamic library 'C:/php-5.6.40/ext\php_intl.dll' ...

文章 dtchang » 2026-03-07, 11:11

PHP Warning: PHP Startup: Unable to load dynamic library 'C:/php-5.6.40/ext\php_intl.dll' - �䤣���w���ҲաC
其中的無法顯示的亂碼意思為:
「找不到指定的模組。」 > (英文原始訊息為: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

回覆文章