Груша ошибка "Расширение XML не найдено" в Ubuntu 14.04 после установки php-xml & php-xml7.0
Я хочу использовать команду pecl для установки redis на мой php в Ubuntu 14.04. Но моя Груша дает мне список предупреждений:
Warning: Invalid argument supplied for foreach() in Command.php on line 249
Warning: Invalid argument supplied for foreach() in /usr/share/php/PEAR/Command.php on line 249
Warning: Invalid argument supplied for foreach() in Command.php on line 249
Warning: Invalid argument supplied for foreach() in /usr/share/php/PEAR/Command.php on line 249
Warning: Invalid argument supplied for foreach() in Command.php on line 249
Warning: Invalid argument supplied for foreach() in /usr/share/php/PEAR/Command.php on line 249
Warning: Invalid argument supplied for foreach() in Command.php on line 249
Warning: Invalid argument supplied for foreach() in /usr/share/php/PEAR/Command.php on line 249
Warning: Invalid argument supplied for foreach() in Command.php on line 249
Warning: Invalid argument supplied for foreach() in /usr/share/php/PEAR/Command.php on line 249
Warning: Invalid argument supplied for foreach() in Command.php on line 249
Warning: Invalid argument supplied for foreach() in /usr/share/php/PEAR/Command.php on line 249
Warning: Invalid argument supplied for foreach() in Command.php on line 249
Warning: Invalid argument supplied for foreach() in /usr/share/php/PEAR/Command.php on line 249
Warning: Invalid argument supplied for foreach() in Command.php on line 249
Warning: Invalid argument supplied for foreach() in /usr/share/php/PEAR/Command.php on line 249
Warning: Invalid argument supplied for foreach() in Command.php on line 249
Warning: Invalid argument supplied for foreach() in /usr/share/php/PEAR/Command.php on line 249
Warning: Invalid argument supplied for foreach() in Command.php on line 249
Warning: Invalid argument supplied for foreach() in /usr/share/php/PEAR/Command.php on line 249
Warning: Invalid argument supplied for foreach() in Command.php on line 249
Warning: Invalid argument supplied for foreach() in /usr/share/php/PEAR/Command.php on line 249
Notice: Undefined index: honorsbaseinstall in Role.php on line 173
Notice: Undefined index: honorsbaseinstall in Role.php on line 173
Notice: Undefined index: honorsbaseinstall in Role.php on line 173
Notice: Undefined index: honorsbaseinstall in Role.php on line 173
Notice: Undefined index: honorsbaseinstall in Role.php on line 173
Notice: Undefined index: honorsbaseinstall in Role.php on line 173
Notice: Undefined index: honorsbaseinstall in Role.php on line 173
Notice: Undefined index: honorsbaseinstall in Role.php on line 173
Notice: Undefined index: honorsbaseinstall in Role.php on line 173
Notice: Undefined index: honorsbaseinstall in Role.php on line 173
Notice: Undefined index: installable in Role.php on line 139
Notice: Undefined index: installable in Role.php on line 139
Notice: Undefined index: installable in Role.php on line 139
Notice: Undefined index: installable in Role.php on line 139
Notice: Undefined index: installable in Role.php on line 139
Notice: Undefined index: installable in Role.php on line 139
Notice: Undefined index: installable in Role.php on line 139
Notice: Undefined index: installable in Role.php on line 139
Notice: Undefined index: installable in Role.php on line 139
Notice: Undefined index: installable in Role.php on line 139
Notice: Undefined index: phpfile in Role.php on line 204
Notice: Undefined index: phpfile in Role.php on line 204
Notice: Undefined index: phpfile in Role.php on line 204
Notice: Undefined index: phpfile in Role.php on line 204
Notice: Undefined index: phpfile in Role.php on line 204
Notice: Undefined index: phpfile in Role.php on line 204
Notice: Undefined index: phpfile in Role.php on line 204
Notice: Undefined index: phpfile in Role.php on line 204
Notice: Undefined index: phpfile in Role.php on line 204
Notice: Undefined index: phpfile in Role.php on line 204
Notice: Undefined index: config_vars in Role.php on line 46
Notice: Undefined index: config_vars in Role.php on line 46
Notice: Undefined index: config_vars in Role.php on line 46
Notice: Undefined index: config_vars in Role.php on line 46
Notice: Undefined index: config_vars in Role.php on line 46
Notice: Undefined index: config_vars in Role.php on line 46
Notice: Undefined index: config_vars in Role.php on line 46
Notice: Undefined index: config_vars in Role.php on line 46
Notice: Undefined index: config_vars in Role.php on line 46
Notice: Undefined index: config_vars in Role.php on line 46
Warning: Invalid argument supplied for foreach() in PEAR/Command.php on line 249
Warning: Invalid argument supplied for foreach() in /usr/share/php/PEAR/Command.php on line 249
Warning: Invalid argument supplied for foreach() in PEAR/Command.php on line 249
Warning: Invalid argument supplied for foreach() in /usr/share/php/PEAR/Command.php on line 249
Warning: Invalid argument supplied for foreach() in PEAR/Command.php on line 249
Warning: Invalid argument supplied for foreach() in /usr/share/php/PEAR/Command.php on line 249
Warning: Invalid argument supplied for foreach() in PEAR/Command.php on line 249
Warning: Invalid argument supplied for foreach() in /usr/share/php/PEAR/Command.php on line 249
Warning: Invalid argument supplied for foreach() in PEAR/Command.php on line 249
Warning: Invalid argument supplied for foreach() in /usr/share/php/PEAR/Command.php on line 249
Warning: Invalid argument supplied for foreach() in PEAR/Command.php on line 249
Warning: Invalid argument supplied for foreach() in /usr/share/php/PEAR/Command.php on line 249
Warning: Invalid argument supplied for foreach() in PEAR/Command.php on line 249
Warning: Invalid argument supplied for foreach() in /usr/share/php/PEAR/Command.php on line 249
Warning: Invalid argument supplied for foreach() in PEAR/Command.php on line 249
Warning: Invalid argument supplied for foreach() in /usr/share/php/PEAR/Command.php on line 249
Warning: Invalid argument supplied for foreach() in PEAR/Command.php on line 249
Warning: Invalid argument supplied for foreach() in /usr/share/php/PEAR/Command.php on line 249
Warning: Invalid argument supplied for foreach() in PEAR/Command.php on line 249
Warning: Invalid argument supplied for foreach() in /usr/share/php/PEAR/Command.php on line 249
Warning: Invalid argument supplied for foreach() in PEAR/Command.php on line 249
Warning: Invalid argument supplied for foreach() in /usr/share/php/PEAR/Command.php on line 249
XML Extension not found
Последняя строка дает мне это сообщение
Расширение XML не найдено
хотя я установил #sudo apt-get install php-xml php7.0-xml
, Но та же проблема все еще возникает.
В чем может быть проблема?
4 ответа
На некоторых установках в pecl есть ошибка. Найдите эту строку;
exec $PHP -C -n -q $INCARG -d date.timezone=UTC -d output_buffering=1 -d variables_order=EGPCS -d safe_mode=0 -d register_argc_argv="On" $INCDIR/peclcmd.php "$@"
удалить -n
Если вы хотите написать скрипт, попробуйте:
sed -i "$ s|\-n||g" /usr/bin/pecl
Установите этот список, и все будет работать нормально:)
sudo apt-get install php-pear pkg-config libbson-1.0 libmongoc-1.0-0 php-xml php7.0-xml php-dev
Столкнулся с этой проблемой, мне просто нужно было установить php-xml
sudo apt-get install php-xml
Кредиты: Taha EL BOUFFI
Полное объяснение того, почему можно найти здесь
Примечание: это не совсем ответ на исходные вопросы, но это может быть более актуальным сейчас и в будущем.
Одной из возможных причин такого рода ошибок в более современных версиях Ubuntu (например, 20.04) является возможность установки в системе более одной версии PHP.
Даже если вы устанавливаете только версию 7.x, а плагины 7.x и f.ex. какой-либо HTTP-сервер, такой как Apache, это не означает, что не будет установлен другой PHP. Он может быть установлен либо изначально (например, в базовом образе докера), либо как зависимость от чего-то еще.
У меня была такая проблема в устаревшем контейнере докеров, который раньше собирался и работал.
Решение состояло в том, чтобы удалить PHP 8.x непосредственно перед установкой PEAR.
sudo apt-get purge -y `apt list --installed | cut -d/ -f1 | grep php8 | awk '{print $1}' |tr "\n" " "`
или
sudo apt-get purge -y `dpkg -l | grep php8 | awk '{print $2}' |tr "\n" " "`