международное расширение:установка php_intl.dll
-
12-09-2019 - |
Вопрос
Я пытаюсь найти php_intl.dll
и установите его.
Есть ли у кого-нибудь советы?
Решение
Пакеты на http://windows.php.net/download/ все содержат php\_intl.dll
который находится в подкаталоге ext/
.
Все, что вам нужно сделать, это проверить, есть ли у вас каталог_расширения указывает на правильный каталог и добавьте (или раскомментируйте) extension=php\_intl.dll
директива.
Другие советы
Для php_intl.dll
для правильной работы расширения вам необходимо иметь в папке на вашем компьютере следующие файлы: PATH
:
icudt36.dll
icuin36.dll
icuio36.dll
icule36.dll
iculx36.dll
icutu36.dll
icuuc36.dll
По умолчанию они находятся в вашем каталоге PHP, но этот каталог не обязательно находится в вашем каталоге. PATH
(это было не для меня, используя xampp)
Это должно быть в вашем глобальном пути, а не только в пути вашего пользователя.Чтобы установить глобальный путь, перейдите к системной информации (клавиша Windows + ПАУЗА), затем «Дополнительные параметры системы» (Vista+) или «Дополнительно» (XP), нажмите кнопку «Переменные среды» и добавьте соответствующий каталог в PATH
переменная в списке системных переменных.
У меня установлены XAMPP 1.8.3-0 и PHP 5.5.0.
1) отредактируйте php.ini:
от
;extension=php_intl.dll
к
extension=php_intl.dll
Примечание: После внесения изменений необходимо сохранить файл (php.ini), а также перезапустить сервер Apache.
2) Просто скопируйте все ICU* * * *.dll файлы:
от
C:\xampp\php
к
C:\xampp\apache\bin
Тогда расширение intl работает!!!
Была такая же проблема...Я нашел нужные файлы, выполнив поиск icu* на моем диске.*.dll и нашел перечисленные выше, но с 46 вместо 36 в папке php.Я скопировал их в файл apache/bin и попробовал запустить apache, и он наконец запустился.На странице «Проверки сервера» значок «Желтая проверка» изменился на «Зеленый ОК».Надеюсь это поможет.
Если вы читали сообщение об ошибке, «icuuc36.dll» отсутствует. Проблема заключается в том, что вы не имеете PHP реж в вашем PATH, или вы можете скопировать все файлы «Интерн» из каталога PHP для Apache \ каталога бен. Они есть : icudt36.dll icuin36.dll icuio36.dll icule36.dll iculx36.dll icutu36.dll icuuc36.dll р>
Для Вампсервер 2.5 (Апач 2.4.9 и PHP 5.5.12):
В по умолчанию у меня было php_intl
включено (вы можете включить его, когда вы left click on the wamp icon in the system tray > PHP > PHP extensions
и проверьте, отмечено ли оно)
Чтобы все работало правильно, мне пришлось копировать:
C:\wamp\bin\php\php5.5.12\icu**51.dll
(всего 8 файлов)
к
C:\wamp\bin\apache\apache2.4.9\bin
Затем просто перезапустите Wamp, и все будет в порядке.
У меня PHP 5.3.1 и Apache.
Когда я добавляю extension=php_intl.dll
в php.ini и перезапустите Apache, появится предупреждение о том, что «запрошенная операция не удалась»
И эта ошибка в Event Monitor:
Faulting application name: httpd.exe, version: 2.2.14.0, time stamp: 0x4ac181d6
Faulting module name: php5ts.dll, version: 5.3.1.0, time stamp: 0x4b051b35
Exception code: 0xc0000005
Проблема заключалась в том, что некоторые библиотеки DLL, такие как icudt36.dll, отсутствовали (замечено с помощью sysinternals ProcMon), я скачал zip-версию php 5.3.1 и извлек все библиотеки DLL в папку PHP.Это решило проблему.
Я решил эту проблему, добавив каталог PHP в переменную PATH.я только что добавил ;C:\xampp\php
к Path
переменная в переменных среды Windows.
У меня есть IIS 7, и я установил PHP с помощью установщика веб-платформы Microsoft в Windows 7.В IIS перейдите в PHP Manager на главной странице настроек -> Расширения PHP -> Включить или отключить расширение.Расширение Intl отключено по умолчанию.
надеюсь, это поможет
Если у вас возникла ошибка отсутствия файла msvcp110.dll.Вам нужно скачать правильный .dll или просто зайти сюда. http://www.microsoft.com/es-es/download/confirmation.aspx?id=30679 и установите vcredist_x64.exe и vcredist_x86.exe, у меня это сработало.
Когда я столкнулся с этой проблемой, она была решена с помощью следующих шагов:
Отредактируйте php.ini:
Делать
; extension = php_intl.dll to
extension = php_intl.dll просто скопируйте все файлы icu * * * .dll (любой файл ICU с расширением DLL) из
C:\xampp\php в C:\xampp\apache\bin
Также, если у вас есть ошибка отсутствия файла msvcp110.dll.Вам нужно скачать правильный .dll или просто зайти сюда. http://www.microsoft.com/es-es/download/confirmation.aspx?id=30679 и установите vcredist_x64.exe и vcredist_x86.exe.
Теперь расширение intl должно работать :-)
/Здесь копатель/
Перемещение icu*****.dll
файлы в /ext/
кажется, тоже решает проблему.
(Если вы, конечно, указали каталог расширения)
В моей панели управления xampp нажмите «Конфигурация», чтобы открыть php.ini.
удалять ;в
;расширение=php_intl.dll
Затем перезапустите апач.
Есть лучший способ сделать это.
У меня была такая же проблема с расширениями ldap, intl, curl php.Я решил эти проблемы следующими способами:
Сначала вам нужно проверить, включены ли эти расширения в файле php.ini, удалив точку с запятой (;) перед следующими строками:
;extension=php_intl.dll
;extension=php_ldap.dll
;extension=php_curl.dll
Теперь вы можете напрямую загрузить необходимые файлы dll (т. е. libeay32, libssh2, ssleay32, icu**.dll ) из файла httpd.conf (файл конфигурации Apache).Вам не нужно делать никаких других действий, например копировать их в каталог bin apache или каталог ext php.Просто добавьте их непосредственно в файл httpd.conf вашего Apache.
Обратите внимание, что следующий пример относится к версии PHP 5.5.x.
LoadFile "C:/php/icudt51.dll"
LoadFile "C:/php/icuin51.dll"
LoadFile "C:/php/icuio51.dll"
LoadFile "C:/php/icule51.dll"
LoadFile "C:/php/iculx51.dll"
LoadFile "C:/php/icutest51.dll"
LoadFile "C:/php/icutu51.dll"
LoadFile "C:/php/icuuc51.dll"
LoadFile "C:/php/libeay32.dll"
LoadFile "C:/php/libssh2.dll"
LoadFile "C:/php/ssleay32.dll"
Вот и все.Теперь перезапустите Apache или Wamp, и все готово.
У меня возникли проблемы с запуском intl с использованием PHP 7.1.7 и PhpStorm в Windows 10.Основываясь на других ответах здесь, я мог сказать, что это проблема с зависимостью PATH/DLL, но я не смог найти все необходимые файлы даже после (пере) установки распространяемого компонента Visual C++.
В конце концов я начал искать свой C:диск для vcr*.dll и нашел копию vcruntime140.dll в моем C:\Program Files\Mozilla Firefox
каталог.Итак, помимо внесения этих изменений в php.ini:
extension_dir = "ext"
extension=php_intl.dll
Я также установил для PATH среды выполнения ТОЛЬКО каталог PHP (в моем случае C:\Program Files\PHP\7.1.7
) и каталог Firefox (выше), и это НАКОНЕЦ-ТО заработало!Я знаю, что требуется нечто большее, чем просто vcruntime140.dll, но другие необходимые библиотеки DLL также должны находиться в каталоге FF (их несколько десятков, но я не удосужился выяснить, какие из них необходимы).
В моем случае добавление каталога PHP в PATH в пользовательской среде не сработало.После некоторого тестирования я обнаружил, что его следует добавить в системный PATH (я не знаю, как называется эта часть окон настроек системы, потому что у меня польская Windows).
Вы можете ввести эту команду в терминале: sudo apt-get install php-intl
Пакет уже включен в расширения для PHP 7.2 и выше, и вам просто нужно раскомментировать следующую строку в php.ini
extension=intl