Я пытаюсь получить внутреннее расширение, работающее на моей тестовой рабочей станции (PHP 5.5.1, Apache 2.2.4, Windows 7 32-bit). Кажется, что независимо от того, что я пытаюсь, я не могу его запустить и запустить.
Я проверил журнал ошибок Apache и нашел эту строку каждый раз, когда я перезапустил Apache:
PHP Предупреждение: запуск PHP: невозможно загрузить динамическую библиотеку 'c: \ wamp \ php5.5 \ ext \ php_intl.dll' – указанный модуль не найден. \ R \ n в Unknown в строке 0
Повторяю, но c: \ wamp \ php5.5 \ ext \ php_intl.dll СУЩЕСТВУЕТ!
Я испытываю искушение попробовать указывать на проводник Windows и кричать на свой компьютер: «СМОТРИТЕ, СТИНКИН» ФАЙЛ ПРАВИЛЬНО! » Любая идея, почему я могу видеть файл и PHP, не может, хотя мы, по-видимому, смотрим в один и тот же каталог? Или что-то еще происходит, что я пропустил?
Убедитесь, что Apache может находить и загружать файлы icu * .dll из базового каталога PHP.
Быстрое, простое решение – скопировать эти библиотеки DLL в каталог Apache bin.
Хотя решение SeventyFourLaboratories прост и оно работает, есть решение, которое не требует изменения вашего дистрибутива Apache или PHP (а иногда вам не разрешается изменять их на рабочих серверах).
Вы сказали, что вы проверили C:\wamp\php5.5
в вашей PATH
. Windows имеет два вида переменных среды: пользовательские и системные переменные.
Я попытался установить C:\wamp\php5.5
в моей переменной пользователя PATH
, и она не работает. Но установка его в системную переменную PATH
заставляет ее работать. Итак, вы должны проверить, что вы используете системную переменную PATH
для настройки Apache вместо пользовательской переменной с тем же именем.
У меня была такая же проблема, и после почти 5 часов работы над этой проблемой я, наконец, решил ее решить. Мне пришлось сделать два основных изменения.
1) Когда я загрузил расширение, которое я пытался использовать, он пришел со многими другими файлами за пределами файла .dll – большинство из них были .pdb. Я переместил их все в папку ext, содержащую DLL-файлы.
2) Ответ smaines на alaya dot com, представленный в качестве комментария, дал мне второе, что мне нужно было сделать – добавьте путь к папке ext к переменной Windows $ PATH.
Это можно сделать много, вот один из них:
После внесения вышеуказанных изменений вам необходимо перезапустить машину, чтобы они могли повлиять.
Надеюсь, это поможет, это сработало для меня. Похоже, что это довольно распространенная проблема – по крайней мере, я нашел немало дискуссий по этому вопросу и ее вариаций.
Это сводило меня с ума. У меня были все icu-dll на моем пути и т. Д. В конце установка Visual C ++ 2015 x86 решила его для меня.
полное исправление будет состоять в том, чтобы изменить 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', );
Как добавить расположение PHP.exe в PATH.
(Графический интерфейс Windows 7)
Для доступа администратора к «Переменные среды: системные переменные» следуйте инструкциям здесь: https://kb.wisc.edu/cae/page.php?id=24500
В «Переменные среды: системные переменные» отредактируйте переменную «Путь» и префикс существующей строки (НЕ УДАЛЯЙТЕ ЭТО) с вашим местоположением. например: C: \ wamp \ bin \ php \ php5.5.12;
Исправление к сообщениям выше
Если вы добавляете папку php в PATH, обязательно добавьте папку php, а не папку php / ext.
В моем случае это был C: \ wamp \ bin \ php \ php5.5.12, а не C: \ wamp \ bin \ php \ php5.5.12 \ ext.