Подтвердить что ты не робот

Предупреждение 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"

где содержимое после последней косой черты является расширением.

Я не уверен, где еще искать.

Любая помощь приветствуется

4b9b3361

Ответ 1

Я думаю, что вы загрузили Xdebug, вероятно, дважды в php.ini.

  1. проверьте php.ini, что у вас нет xdebug.so для значений extension= и zend_extension=.

  2. Проверьте также /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.