Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
692 views
in Technique[技术] by (71.8m points)

intl - Why can't PHP on Windows see extension php_intl.dll even though it exists?

I've been trying to get the intl extension working on my test workstation (PHP 5.5.1, Apache 2.2.4, Windows 7 32-bit). It seems that no matter what I try I can't get it up and running.

  • I've uncommented the line "extension=php_intl.dll" in my php.ini.
  • I've verified the extension_dir directive is pointing at the correct directory (c:wampphp5.5ext).
  • I've verified php_intl.dll is in c:wampphp5.5ext.
  • I've verified that all the icu*.dll files are present in the php root directory (c:wampphp5.5).
  • I've verified that c:wampphp5.5 is in my PATH.
  • And yes, the copy of php.ini I'm editing is the correct one, the one specified by the PHPIniDir directive in httpd.conf.

I've checked the Apache error log and found this line every time I've restarted Apache:

PHP Warning: PHP Startup: Unable to load dynamic library 'c:wampphp5.5extphp_intl.dll' - The specified module could not be found. in Unknown on line 0

I repeat myself, but c:wampphp5.5extphp_intl.dll DOES EXIST!

I'm tempted to try pointing at Windows Explorer and shouting at my computer, "LOOK! THE STINKIN' FILE IS RIGHT THERE!" Any idea why I can see the file and PHP cannot even though we're apparently looking in the same directory? Or is something else going on that I've missed?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

Make sure that Apache can find and load icu*.dll files from PHP base dir.

Fast, simple solution is to copy these dll's to Apache bin directory.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...