简体   繁体   English

Windows Server 2008中的Apache 2.4未加载php_intl扩展名

[英]Apache 2.4 in Windows Server 2008 is not loading php_intl extension

I have this infrastructure: 我有这个基础架构:

  • PHP Version: 5.6.20 PHP版本:5.6.20
  • System: Windows NT SERVER1 6.1 build 7600 (Windows Server 2008 R2 Compiler: MSVC11 (Visual C++ 2012) 系统:Windows NT SERVER1 6.1内部版本7600(Windows Server 2008 R2编译器:MSVC11(Visual C ++ 2012)
  • Architecture x64 建筑x64
  • Loaded Configuration: File C:\\php\\php.ini 加载的配置:文件C:\\ php \\ php.ini

Other tools: 其他工具:

  • Visual C++ Redistributable para Visual Studio 2012 Update 4 installed 已安装Visual C ++可再发行组件Visual Studio 2012 Update 4
  • Apache and PHP were installed individually Apache和PHP分别安装

The extension php_intl.dll is never loaded, just this one. 扩展php_intl.dll从未加载,仅此一个。 Others extensions are loaded cool. 其他扩展很酷。 When I restart the apache I get this warning: 重新启动apache时,出现以下警告:

[Wed Jul 06 14:41:03.632426 2016] [mpm_winnt:notice] [pid 14964:tid 356] AH00418: Parent: Created child process 14992 PHP Warning: PHP Startup: Unable to load dynamic library 'C:\\php\\ext\\php_intl.dll' - The specified module could not be found.\\r\\n in Unknown on line 0 [2016年7月6日星期三14:41:03.632426] [mpm_winnt:notice] [pid 14964:tid 356] AH00418:父级:创建的子进程14992 PHP警告:PHP启动:无法加载动态库'C:\\ php \\ ext \\ php_intl.dll'-找不到指定的模块。\\ r \\ n在第0行的Unknown中

The extension is there, so the ext's path is ok. 扩展名在那里,所以扩展名的路径确定。 Finally I went to Intl Pecl dowloadpage and looks like the repositories there are not compatible with Windows Server 2008. 最后,我进入了Intl Pecl dowloadpage ,看起来那里的存储库与Windows Server 2008不兼容。

I do not know what more to do in order to get this extension work. 我不知道要完成此扩展工作还要做些什么。

Addional note : I have copied the Apache24/ and php/ dir into a Windows 7 machine 64x and the extension is loaded successfully 补充说明 :我已将Apache24 /和php /目录复制到Windows 7计算机64x中,并且扩展已成功加载

It is necessary to register the php instead php's extension path in Windows PATH enviroment variable. 必须在Windows PATH环境变量中注册php而不是php的扩展路径。

C:\php

By this way the apache is able to load all icud*.dll files required by php_intl.dll . 通过这种方式,Apache是能够加载所有icud*.dll所要求的文件php_intl.dll Credits by @Vrac 积分@Vrac

And and @Zak : @Zak

Make sure the PHP directory path is included in the system's PATH environmental variable so this set of provided/included ICU DLLs, that php_intl.dll depends on, are found 确保PHP目录路径包含在系统的PATH环境变量中,以便找到php_intl.dll所依赖的这组提供/包含的ICU DLL。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM