Не удается загрузить модуль mbstring
Запустив скрипт в CLI, я получаю эту ошибку:
PHP Fatal error: Call to undefined function mb_detect_encoding() <script path/name here>
Некоторый фон.
PHP 5.3.10 (cli) (built: Feb 2 2012 20:27:51)
Запуск Windows 7 (назовите это рабочим ограничением) с MySQL и Apache2.2 (оба в настоящее время работают)
Я так понимаю эта функция является частью модуля php_mbstring.dll
Я попытаюсь исчерпывающий список усилий, чтобы загрузить это:
- Проверенное местоположение php.ini; phpinfo указывает, что загруженный файл находится в c:\php; файл конфигурации находится в c:\windows (два места - оба имеют одинаковый файл.ini)
- Файлы php.ini имеют некомментированное расширение =php_mbstring.dll
- Каталог расширения указан в обоих файлах php.ini как extension_dir = "c:\php\ext"
- указанный файл (php_mbstring.dll) фактически присутствует в указанном каталоге c:\php\ext\php_mbstring.dll
- Хотя я не могу понять, почему это будет эффективно, я переместил dll как в каталог php, так и в каталоги windows32, как это видно на других форумах.
- У меня есть другие функциональные неосновные модули (например, MySQL), загруженные таким же образом без проблем
Возможно, стоит отметить, что после раскомментирования строки расширения в загруженном конфигурационном файле (c: \ php \ php.ini) дополнительная системная ошибка "Невозможно запустить из-за отсутствия php5.dll на вашем компьютере" выглядит как диалоговое окно Я попытался раскомментировать в обоих и в одном и получить ту же ошибку.
Я подозреваю, что есть способ загрузить этот модуль без перекомпиляции или переустановки PHP.
1 ответ
Очень поздний ответ, который может помочь другим, кто найдет этот вопрос: если вы используете встроенный сервер разработки php, это может быть так же просто, как просто перезапустить его, чтобы изменения в php.ini, которые включают mbstring, были сохранены.