PHP удалить/исправить модуль не найден или уже загружен предупреждения?
Когда я запускаю php script из командной строки, как показано ниже
php test.php
я получаю следующий вывод
PHP Warning: Module 'memcache' already loaded in Unknown on line 0
PHP Warning: Module 'apc' already loaded in Unknown on line 0
как я могу исправить или удалить эти предупреждения модуля? Я проверил php.ini в
etc/php.ini
вывод
php -i | grep php.ini
PHP Warning: Module 'memcache' already loaded in Unknown on line 0
PHP Warning: Module 'apc' already loaded in Unknown on line 0
Configuration File (php.ini) Path => /etc
Loaded Configuration File => /etc/php.ini
Я не вижу никакой загрузки или ссылки на эти два модуля там...
пожалуйста, помогите
Ответы
Ответ 1
Когда вы устанавливаете php5-memcache, он добавляет собственный файл memcache.ini, который уже загружает это расширение. Так что просто удалите/прокомментируйте загрузку расширения с вашего php.ini.
;extension=memcache.so
Аналогично APC (альтернативный PHP-кэш-модуль).
;extension=apc.so
Ответ 2
У меня была такая же ситуация. В моем случае проблема заключалась в том, что у меня было два файла конфигурации для memcache в /etc/php 5/cli/conf.d/.
php -i | grep memcache.ini
В моем случае результат был:
/etc/php5/cli/conf.d/20-memcache.ini,
/etc/php5/cli/conf.d/memcache.ini
Чтобы избавиться от предупреждения, я удалил строку extension=memcache.so
из файла memcache.ini.
Ответ 3
Если вы используете php5.4 (CentOS 6.5),
Ответ 4
Я пришел сюда для поиска решения аналогичной ошибки, т.е. 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).
Ответ 5
Возможно, эти модули перечислены дважды, поэтому вы получаете сообщение об ошибке "Уже загружено".
Узнайте, какие файлы конфигурации загружены
php -i | grep 'Loaded Configuration File'
php -i | grep 'ini'
Это скажет вам, какие файлы .ini загружены и проанализированы (дополнительные файлы .ini были разобраны).
Посмотрите на конкретные файлы и закомментируйте второе вхождение (как указано ниже)
;extension=memcache.so
;extension=apc.so
Ответ 6
имеются файлы конфигурационных файлов /etc/php5/mods-available
Откройте файл pdo_mysql.ini и комментарий строка pdo_mysql.so
После службы apache2 | перезапуск php5-fpm в зависимости от того, используете ли вы
Ответ 7
Я получал ту же ошибку,
Module 'sphinx' already loaded
Вам нужно найти модуль (.ini), который загружается более одного раза и удаляет один из них,
[email protected]:~$ grep -R "sphinx" /etc/php5/*
/etc/php5/fpm/conf.d/sphinx.ini:extension=sphinx.so
/etc/php5/fpm/conf.d/20-sphinx.ini:extension=sphinx.so
[email protected]:~$ sudo rm /etc/php5/fpm/conf.d/sphinx.ini
Ответ 8
Если вы не хотите обновлять файл конфигурации,
просто добавьте поверх своей страницы или конструктора " error_reporting (0)"