2016-10-21 4 views
2

На Windows 7 64bit я установил:не php_intl.dll работает при использовании php5apache2_4.dll

  • Apache 2.4.23 x86 VC11 Потокобезопасная
  • PHP 5.6.27-Win32-VC11-x86

Apache httpd.conf:

... 
LoadModule php5_module "D:/devapps/php/php5apache2_4.dll" 
AddHandler application/x-httpd-php .php 
PHPIniDir "D:/devapps/php" 
... 

Все работает отлично и с phpInfo() Я вижу, что загруженный файл php.ini является со дый правильный один (PHPIniDir) и расширение аэроропорт включено:

php.ini

... 
extension_dir = "D:/devapps/php/ext" 
... 
extension=php_intl.dll 
... 

Когда я проверить его с командной строки:

php.exe -c \devapps\php -r "echo '[' . extension_loaded('intl') . ']';" 

сообщает, что расширение загружен правильно (выход: [1]) без предупреждений.

Но если я смотрю на бревнах апача, я вижу следующее сообщение об ошибке:

PHP Warning: PHP Startup: Unable to load dynamic library 'D:/devapps/php/ext\php_intl.dll' - Cannot find the specified module.\r\n in Unknown on line 0

и через веб-сервер extension_loaded («аэроропорт») является ложным.

Другое расширение (например, мыло или завитка) работает отлично.

Вы можете мне помочь?

ответ

0

Проверьте значение директивы extension_dir в вашем php.ini.

Если это только ext, попробуйте изменить его на абсолютный путь, например. D:/devapps/PHP/внутр (если это правильный путь).

+0

Это уже установлен абсолютный путь (я обновил вопрос) – user6638

1

Я сделал несколько тестов: после копирования icuuc57.dll, icuin57.dll, icuio57.dll в каталог bin Apache, предупреждение PHP исчезло, и внутренний набор расширений работал правильно через веб-сервер.

So I solved it in a better manner including the D:\devapps\php on the system %PATH% variable (I have different versions of PHP, so I didn't set it).

Кажется, что апач не может извлечь и загрузить эти DLL, даже если они находятся на одной и той же директории php5apache2_4.dll

 Смежные вопросы

  • Нет связанных вопросов^_^