Я намагаюся знайти php_intl.dll
та встановити його.
Хтось має якісь поради?
Відповіді:
Усі пакунки на веб- сайті http://windows.php.net/download/ містять те, php\_intl.dll
що знаходиться в піддиректорії ext/
.
Все, що вам потрібно зробити, це перевірити, чи вказує ваш extension_dir на потрібний каталог і додати (або розкоментувати) 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 key + PAUSE), потім Додаткові налаштування системи (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 працює !!!
msvcp*
бібліотеки DLL. Згаданий вами файл msvcp110.dll
повинен міститися у пакунку Vist ++ 2012 Redist.
У мене була та сама проблема ... Я знайшов потрібні файли, здійснивши пошук на моєму диску для пошуку icu * * .dll, і знайшов перераховані вище, але в папці php 46, а не 36. Я скопіював їх, вставив у файл apache / bin і спробував запустити apache, і він нарешті запустився. На сторінці «Перевірка сервера» він тепер змінено з «Жовтий» на «Зелений». Сподіваюся, це допомагає.
Якщо ви прочитали повідомлення про помилку, "icuuc36.dll" відсутній. Проблема в тому, що у вас немає каталогу PHP у вашому PATH, або ви можете скопіювати всі файли "intl" із каталогу php в каталог apache \ bin. Це: icudt36.dll icuin36.dll icuio36.dll icule36.dll iculx36.dll icutu36.dll icuuc36.dll
Для WampServer 2.5 ( Apache 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
Потім просто перезапустіть вамп, і все було просто добре.
У мене PHP 5.3.1 та Apache
Коли я додаю extension=php_intl.dll
php.ini і перезапускаю apache, з’являється попередження про те, що „запитована операція не вдалася
І ця помилка на моніторі подій:
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 на головній сторінці налаштувань -> Розширення PHP -> Увімкнути або вимкнути розширення. Розширення Intl вимкнено за замовчуванням.
Сподіваюся, це допоможе
Ви можете ввести цю команду в терміналі: sudo apt-get install php-intl
Якщо у вас помилка msvcp110.dll відсутній файл. Вам потрібно завантажити правильну .dll або просто зайти сюди http://www.microsoft.com/es-es/download/confirmation.aspx?id=30679 та встановити vcredist_x64.exe та vcredist_x86.exe, це в мене спрацювало .
Коли я зіткнувся з цією проблемою, це було розібрано, використовуючи згадані нижче кроки:
Змінити php.ini:
Зробити
; розширення = php_intl.dll до
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 має працювати :-)
У моєму випадку додавання каталогу PHP до PATH в середовищі користувача не спрацювало. Після деяких тестувань я виявив, що його слід додати до системи PATH (я не знаю, як називається ця частина вікон налаштування системи, тому що у мене є польська Windows).
Пакет уже включений у розширення для PHP 7.2 і вище, і вам просто потрібно прокоментувати наступний рядок у php.ini
extension=intl
Існує кращий спосіб зробити це.
У мене були такі самі проблеми з розширеннями 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"
Це воно. Тепер перезапустіть апаш або вамп, і все готово.
У мене були проблеми з запуском intl за допомогою PHP 7.1.7 і PhpStorm в Windows 10. На підставі інших відповідей тут я міг сказати, що це проблема залежності PATH / DLL, але я не міг знайти всі необхідні файли навіть після (повторне) встановлення Visual C ++ Redistributable.
Врешті-решт я пішов шукати свій диск 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.ini, видаливши крапку з комою в рядку, що містить extension = php_intl.dll
Після цього перейдіть до папки php Xamp або Wamp або EasyPHP, скопіюйте кожен файл dll, що містить icu *, вставте їх у свій файл Windows.
Це спрацювало для мене. Конфігурація: EasyPHP Dev Server, Windows 10.