我一直试图让我的测试工作站(PHP 5.5.1,Apache 2.2.4,Windows 7 32位)上的intl扩展工作。似乎无论我尝试什么,我都无法启动并运行。
我已经检查了Apache错误日志,每次重新启动Apache时都会找到此行:
PHP警告:PHP启动:无法加载动态库&c; \ wamp \ php5.5 \ ext \ php_intl.dll' - 找不到指定的模块。\ r \ n在第0行的未知中
我重复一遍,但c:\ wamp \ php5.5 \ ext \ php_intl.dll已经存在!
我很想尝试指向Windows资源管理器并在我的电脑上大喊大叫,"看!斯金林'文件是正确的!"知道为什么我可以看到文件和PHP,即使我们显然在同一目录中看到它?或者是我错过的其他事情?
答案 0 :(得分:15)
确保Apache可以从PHP base目录中找到并加载icu * .dll文件。
快速,简单的解决方案是将这些dll复制到Apache bin目录。
答案 1 :(得分:4)
虽然SeventyFourLaboratories的解决方案很简单且有效,但有一个解决方案不需要您修改Apache或PHP发行版(有时,您不允许在生产服务器中更改它们。)
您说您已验证C:\wamp\php5.5
在PATH
。 Windows有两个种环境变量:用户和系统变量。
我尝试在我的用户变量C:\wamp\php5.5
中设置PATH
,但它不起作用。但是,在系统变量PATH
中设置它可以使其正常工作。因此,您应该验证是否使用PATH
系统变量来配置Apache而不是具有相同名称的用户变量。
答案 2 :(得分:3)
我遇到了同样的问题,经过近5个小时的工作,我终于解决了问题。我必须做出两个主要的改变。
1)当我下载我试图使用的扩展时,除了.dll文件之外还附带了许多其他文件 - 其中大多数是.pdb。我将所有这些文件移动到包含.dll文件的ext文件夹中。
2)作为评论here提供的的答案在alaya dot com 上给出了我需要做的第二件事 - 将ext文件夹的路径添加到windows $ PATH变量。
有很多方法可以做到,这里有一个:
完成上述更改后,您需要重新启动计算机才能生效。
我希望有所帮助,对我有用。这似乎是一个相当普遍的问题 - 至少我发现了很多关于它及其变体的讨论。
答案 3 :(得分:3)
这让我发疯了。我的路径中有所有icu dll等。最后安装Visual C ++ 2015 x86 为我解决了这个问题。
答案 4 :(得分:1)
完整的修复方法是更改C:\ wamp \ scripts \ config.inc.php,如下所示:
查找该文件的此部分
$phpDllToCopy = array (
'fdftk.dll',
'fribidi.dll',
'libeay32.dll',
'libmhash.dll',
'libmysql.dll',
'msql.dll',
'libmysqli.dll',
'ntwdblib.dll',
'php5activescript.dll',
'php5isapi.dll',
'php5nsapi.dll',
'ssleay32.dll',
'yaz.dll',
'libmcrypt.dll',
'php5ts.dll',
'php4ts.dll');
并将其更改为
$phpDllToCopy = array (
'fdftk.dll',
'fribidi.dll',
'icudt51.dll', // - Additions to avoid unknown error PHP 5.5.5
'icuin51.dll',
'icuio51.dll',
'icule51.dll',
'iculx51.dll',
'icutest51.dll',
'icutu51.dll',
'icuuc51.dll',
'icudt50.dll', // - Additions to avoid unknown error PHP 5.5
'icuin50.dll',
'icuio50.dll',
'icule50.dll',
'iculx50.dll',
'icutest50.dll',
'icutu50.dll',
'icuuc50.dll',
'icudt49.dll', // - Additions to avoid unknown error PHP 5.3/5.4
'icuin49.dll',
'icuio49.dll',
'icule49.dll',
'iculx49.dll',
'icutest49.dll',
'icutu49.dll',
'icuuc49.dll',
'libeay32.dll',
'libmhash.dll',
'libmysql.dll',
'libsasl.dll', // - Additions to avoid unknown error
'msql.dll',
'libmysqli.dll',
'ntwdblib.dll',
'php5activescript.dll',
'php5isapi.dll',
'php5nsapi.dll',
'ssleay32.dll',
'yaz.dll',
'libmcrypt.dll',
'php5ts.dll',
'php4ts.dll',
);
答案 5 :(得分:1)
如何将PHP.exe位置添加到PATH。
(Windows 7 GUI)
对于“环境变量:系统变量”的管理员访问权限,请按照此处的说明操作: https://kb.wisc.edu/cae/page.php?id=24500
在“环境变量:系统变量”中,编辑“路径”变量并在现有字符串前缀(不要删除它),并附上您的位置。例如:C:\ wamp \ bin \ php \ php5.5.12;
答案 6 :(得分:0)
对上述消息的更正
如果要将php文件夹添加到PATH,请确保添加php文件夹,而不是php / ext文件夹。
在我的情况下它是C:\ wamp \ bin \ php \ php5.5.12,而不是C:\ wamp \ bin \ php \ php5.5.12 \ ext。