Расширение Xampp Intl на Windows 10 не может быть установлено - PullRequest
0 голосов
/ 26 октября 2018

Я пытаюсь установить Megento 2 на Xampp (php 7.2.5) и через процесс установки нахожу ошибку установки расширения Intl

enter image description here

Я сделалкаждая вещь ;extension=intl должна быть extension=intl в php.ini

также я скопировал все файлы icu*.dll файлы из xampp/php в xampp/php/ext и в xampp/apache/pin каталоги и, конечно, я перезагружаю Apache.

enter image description here

также загрузите MSVCP110.dll и вставьте его в C:\Windows\System32

, также проверил путь PHP в системных переменных и все в порядке.

но до сих пор расширение Intl никогда не работало

любая помощь?

Ответы [ 3 ]

0 голосов
/ 02 ноября 2018

Расширение интернационализации (далее именуемое как Intl) - это оболочка для »библиотеки ICU, позволяющая программистам PHP выполнять различные операции с учетом локали, включая, помимо прочего, форматирование, транслитерацию, преобразование кодировки, операции с календарем - http://php.net/manual/en/intro.intl.php

Для Windows-сервера:

Убедитесь, что файл php_intl.dll существует в вашем каталоге расширений php

  • для отдельно установленного PHP: C: \ path \ to \ php \ ext \
  • для xampp: C: \ path \ to \ xampp \ php \ ext
  • (примечание: ваша буква диска может отличаться)

Если файл существует:

  • найдите файл конфигурации (php.ini, обычно в той же папке, что и исполняемый файл php) и откройте его.Вы можете легко это найти, запустив php --ini
  • Убедитесь, что строка «extension = php_intl.dll» существует и не прокомментирована
  • Перезапустите веб-сервер (обычно apache)
  • Проверьте, включено ли расширение с помощью phpinfo (), или запустите php - me в cmd

Если файл не существует:

  • Проверьте ваш phpс помощью команды «php -v»
  • Загрузите версию PHP, соответствующую вашей, со страницы загрузок PHP (TS / NTS, x86 / x64)
    • Чтобы найти безопасность потока для php, запустите: php -i | findstr “Thread”, версия, которая поставляется с xampp, обычно Thread Safety => enabled.
  • Найдите файл php_intl.dll в папке ext этой версии и скопируйте его в папку php \ ext
  • Выполните шаги для случая, когдафайл существует выше.

Устранение неполадок

Некоторые веб-серверы сбивают с толку, потому что они не используют php.ini, расположенный рядом с вашим исполняемым файлом PHP.Чтобы узнать, где находится ваш фактический php.ini, найдите его путь в phpinfo (): или в cmd run php --ini

Configuration File (php.ini) Path: C:\WINDOWS
Loaded Configuration File:         C:\xampp\php\php.ini
Scan for additional .ini files in: (none)
Additional .ini files parsed:      (none)

После активации расширения сохраните php.ini, перезапустите веб-сервер.и снова проверьте phpinfo ().Новое расширение теперь должно иметь собственный раздел.

Если расширение не отображается в phpinfo (), вам следует проверить свои журналы, чтобы узнать, откуда возникла проблема.

Если вы используетеPHP из командной строки (CLI), ошибка загрузки расширения может быть прочитана непосредственно на экране.

Если вы используете PHP с веб-сервером, расположение и формат журналов различаются в зависимости от вашего программного обеспечения.Пожалуйста, прочитайте документацию вашего веб-сервера, чтобы найти логи, так как они не имеют ничего общего с самим PHP.

Распространенными проблемами являются расположение DLL, значение параметра extension_dir внутри php.iniи несоответствие настроек времени компиляции.

Если проблема заключается в несоответствии настроек времени компиляции, возможно, вы не загрузили нужную DLL.Попробуйте скачать расширение с правильными настройками.Опять же, phpinfo () может оказать большую помощь.

0 голосов
/ 04 ноября 2018

Имя установочного файла Xampp содержит VCXX, например xampp-win32-7.2.5-0-VC15-installer.exe, VC15 означает, что PHP скомпилирован с Visual Studio 2017, поэтому вам нужно установить Microsoft Visual C++ Redistributable for Visual Studio 2017, чтобы PHP и расширения работали без сбоев, но когда-то уже был установлен VC14 или Visual C++ Redistributable 2015 достаточно.

Вы можете просмотреть и скачать распространяемый Visual C ++ здесь

0 голосов
/ 29 октября 2018

Вам необходимо изменить раздел [intl] в файле php.ini -

Изменить раздел ниже

________________________________

[intl]

; intl.default_locale =

;Эта директива позволяет вам выдавать ошибки PHP, когда какая-то ошибка

;происходит внутри intl функций.Значение - уровень произведенной ошибки.

;По умолчанию 0, что не приводит к ошибкам.

; intl.error_level = E_WARNING

; intl.use_exceptions = 0

____________________________________

К

________________________________

[intl]

intl.default_locale = en_utf8

;Эта директива позволяет вам генерировать ошибки PHP, когда какая-то ошибка

;происходит внутри intl функций.Значение - уровень произведенной ошибки.

;По умолчанию 0, что не приводит к ошибкам.

intl.error_level = E_WARNING

; intl.use_exceptions = 0

____________________________________

...