Предупреждение PHP: модуль уже загружен в Unknown в строке 0
В Mac OSX Mavericks с помощью homeprew php55 всякий раз, когда я запускаю команду php, я получаю следующее сообщение об ошибке (все работает нормально, это просто раздражает)
PHP Warning: Module 'intl' already loaded in Unknown on line 0
Я побежал
php --ini
а выход был
php --ini
PHP Warning: Module 'intl' already loaded in Unknown on line 0
Warning: Module 'intl' already loaded in Unknown on line 0
Configuration File (php.ini) Path: /usr/local/etc/php/5.5
Loaded Configuration File: /usr/local/etc/php/5.5/php.ini
Scan for additional .ini files in: /usr/local/etc/php/5.5/conf.d
Additional .ini files parsed: /usr/local/etc/php/5.5/conf.d/ext-apcu.ini,
/usr/local/etc/php/5.5/conf.d/ext-igbinary.ini,
/usr/local/etc/php/5.5/conf.d/ext-intl.ini,
/usr/local/etc/php/5.5/conf.d/ext-memcached.ini,
/usr/local/etc/php/5.5/conf.d/ext-mongo.ini,
/usr/local/etc/php/5.5/conf.d/ext-uuid.ini,
/usr/local/etc/php/5.5/conf.d/ext-xdebug.ini
Проверено в файле php.ini, и загружается только одно место intl, и оно закомментировано. Другое содержимое файлов выглядит примерно так:
extension="/usr/local/Cellar/php55/5.5.23/lib/php/extensions/no-debug-non-zts-20121212/intl.so"
где содержимое после последней косой черты является расширением.
Я не уверен, где еще искать.
Любая помощь приветствуется
Ответы
Ответ 1
Я думаю, что вы загрузили Xdebug, вероятно, дважды в php.ini
.
-
проверьте php.ini
, что у вас нет xdebug.so
для значений extension=
и zend_extension=
.
-
Проверьте также /etc/php5/apache2
и /etc/php5/cli/
. Не следует загружать в каждый php.ini
в этих каталогах расширение xdebug.so
. Только один файл php.ini
должен загрузить его.
Ответ 2
У меня была та же проблема на mac i.e. Warning: Module 'pdo_pgsql' already loaded in Unknown on line 0
.
Вот как я это решил.
- Найдите папку
conf.d
, моя была в каталоге
/usr/local/etc/php/7.0/conf.d
.
- В этой папке есть файл, называемый
ext-pdo_pgsql.ini
.
- Введите
sudo nano ext-pdo_pgsql.ini
, чтобы отредактировать его.
- Должна быть строка
extension="/usr/local/opt/php70-pdo-pgsql/pdo_pgsql.so"
. Комментарий
путем добавления полуколонки к началу строки, т.е.
;extension="/usr/local/opt/php70-pdo-pgsql/pdo_pgsql.so"
.
- Сохраните файл. (Обычно я запускаю control + O, control + M).
- Выйдите из файла (control + X).
Надеюсь, это поможет кому-то.
Ответ 3
У вас должен быть каталог /etc/php 2/conf.d(по крайней мере, на Ubuntu я do), содержащий кучу файлов .ini, которые все загружаются при запуске php. Эти файлы могут содержать повторяющиеся настройки, которые конфликтуют с настройками в php.ini
. В моей установке PHP я замечаю файл conf.d/20-intl.ini
с настройкой extension=intl.so
. Держу пари, что ваш конфликт.
Ответ 4
Чтобы устранить эту проблему, вы должны отредактировать файл php.ini(или extensions.ini) и закомментировать расширения, которые уже скомпилированы. Например, после редактирования ваш ini файл может выглядеть следующим образом:
;extension=pcre.so
;extension=spl.so
Источник: http://www.somacon.com/p520.php
Ответ 5
В моем случае я удалил комментарий; extension = php_curl.so в php.ini, но Ubuntu уже вызывала это расширение где-то еще.
Чтобы найти это "где-то еще", на php.ini сообщу. В моем случае путь был указан /etc/php/7.1/apache2/conf.d/20-curl.ini.
Итак, теперь мы редактируем этот файл (терминал):
sudo nano /etc/php/7.1/apache2/conf.d/20-curl.ini
Прокомментируйте; extension = php_curl.so
Сохраните файл и перезапустите apache:
sudo systemctl restart apache2
Ответ 6
У меня была такая же проблема после обновления с Fedora Server 24 (PHP 5) до 25 (PHP 7). После исследования я обнаружил, что /etc/php.d/
имеет два разных файла .ini
, загружающих extension=geoip.so
.
Предыдущая версия дистрибутивов имела этот файл с именем 50-geoip.ini
, но последнее было изменено на 40-geoip.ini
, и я подозреваю, что в процессе обновления версии старое не было удалено, а новое было создано.
Это был фактический случай проблемы. После удаления stray 50-geoip.ini
из /etc/php.d/
и перезапуска httpd
он просто работал безупречно.
Ответ 7
Я удалил файл 20-mongo.ini в /etc/php 5/cli/conf.d, и это решило проблему.
Ответ 8
В файле php.ini есть два файла "php_intl.dll" на числовых номерах 872 и 968. если php warning module 'intl' уже загружен неизвестным в строке 0, это сообщение сфокусировано на вашем CLI. Затем вам нужно будет удалить префиксы semiclone в строке 872. Я ожидаю, что это будет сделано.....
Ответ 9
Просто для справки, так как это может помочь другим, кто находится на виртуальном хостинге (cPanel).
У меня была ошибка на виртуальном хостинге php7.2: модуль 'imagick' уже загружен в Unknown в строке 0
В начале хостинг-провайдер сказал, что это моя плохая конфигурация (работает Yii2.16). Но после того, как я показал им, что весь Интернет связал эту проблему с конфигурацией сервера -they, меня начали слушать. После того, как я доказал, что на php7.1 не было ошибок, они начали искать ошибку.
Как мне сказали, ошибка произошла из-за конфигурации в модулях PERL или в пакете PEAR, но они не сообщили мне о реальной проблеме.
Итак, если вы находитесь на виртуальном хостинге - поговорите с вашим провайдером и поэкспериментируйте с версиями PHP (если вы можете изменить их).
Ответ 10
php --ini
И это показывает мне **
PHP Warning: Module 'xmlrpc' already loaded in Unknown on line 0
Configuration File (php.ini) Path: /etc/php/7.3/cli
Loaded Configuration File: /etc/php/7.3/cli/php.ini
Scan for additional .ini files in: /etc/php/7.3/cli/conf.d
Additional .ini files parsed: /etc/php/7.3/cli/conf.d/10-mysqlnd.ini,
/etc/php/7.3/cli/conf.d/10-opcache.ini,
/etc/php/7.3/cli/conf.d/10-pdo.ini,
/etc/php/7.3/cli/conf.d/15-xml.ini,
/etc/php/7.3/cli/conf.d/20-bcmath.ini,
/etc/php/7.3/cli/conf.d/20-bz2.ini,
/etc/php/7.3/cli/conf.d/20-calendar.ini,
/etc/php/7.3/cli/conf.d/20-ctype.ini,
** введите код сюда
Может быть, из-за ошибки сервера 5.6 7.0 7.1 7.2 7 7.3 при подключении к nginx из DNS
Ответ 11
Закомментируйте эти две строки в php.ini
;extension=imagick.so
;extension="ixed.5.6.lin"
это должно решить проблему.
Ответ 12
У меня была похожая проблема, проблема была в том, что расширение int дублировалось.
Вы можете проверить в файле C: /xampp/php/php.ini и найти "intl". В моем случае расширение = intl уже присутствует, и я снова прокрутил и нашел второй intl "extension = php_intl.dll".
Расширение должно быть выполнено не может снова выполнить расширение intl. Это покажет ошибку как этот "Модуль 'intl' уже загружен".
Я исправил это, extension=php_intl.dll
с помощью " ;
" вот так ;extension=php_intl.dll
. и перезапустил службу apache.