我正在学习 Laravel。但运行命令后composer update
它向我显示此错误。
我已经这样做了 ->apt-get install php7.4-xml
并且apt-get install php-xml
我只是想知道应该将哪一行添加到文件 php.ini 中以启用 PHP 的 xml 扩展。提前致谢。
php--version
PHP 7.4.22 (cli) (built: Jul 30 2021 13:08:17) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Zend OPcache v7.4.22, Copyright (c), by Zend Technologies
Run Code Online (Sandbox Code Playgroud)
的结果composer udpate
aman@aman-HP-Notebook:~/AMAN/learnLaravel$ composer update
Loading composer repositories with package information
Updating dependencies
Your requirements could not be resolved to an installable set of packages.
Problem 1
- phpunit/phpunit[9.3.3, ..., 9.5.x-dev] require ext-xml * -> it is missing from your system. Install or enable PHP's xml extension.
- Root composer.json requires phpunit/phpunit ^9.3.3 -> satisfiable by phpunit/phpunit[9.3.3, ..., 9.5.x-dev].To enable extensions, verify that they are enabled in your .ini files:
- /etc/php/7.4/cli/php.ini
- /etc/php/7.4/cli/conf.d/10-opcache.ini
- /etc/php/7.4/cli/conf.d/10-pdo.ini
- /etc/php/7.4/cli/conf.d/20-calendar.ini
- /etc/php/7.4/cli/conf.d/20-ctype.ini
- /etc/php/7.4/cli/conf.d/20-exif.ini
- /etc/php/7.4/cli/conf.d/20-ffi.ini
- /etc/php/7.4/cli/conf.d/20-fileinfo.ini
- /etc/php/7.4/cli/conf.d/20-ftp.ini
- /etc/php/7.4/cli/conf.d/20-gettext.ini
- /etc/php/7.4/cli/conf.d/20-iconv.ini
- /etc/php/7.4/cli/conf.d/20-json.ini
- /etc/php/7.4/cli/conf.d/20-phar.ini
- /etc/php/7.4/cli/conf.d/20-posix.ini
- /etc/php/7.4/cli/conf.d/20-readline.ini
- /etc/php/7.4/cli/conf.d/20-shmop.ini
- /etc/php/7.4/cli/conf.d/20-sockets.ini
- /etc/php/7.4/cli/conf.d/20-sysvmsg.ini
- /etc/php/7.4/cli/conf.d/20-sysvsem.ini
- /etc/php/7.4/cli/conf.d/20-sysvshm.ini
- /etc/php/7.4/cli/conf.d/20-tokenizer.ini
- /etc/php/7.4/cli/conf.d/20-zip.ini
You can also run `php --ini` inside terminal to see which files are used by PHP in CLI mode.
Run Code Online (Sandbox Code Playgroud)
的结果sudo apt search php-xml
i php-xml - DOM, SimpleXML, WDDX, XML, and XSL module for PHP [default]
v php-xml:i386 -
p php-xml-htmlsax3 - SAX parser for HTML and other badly formed XML documents
p php-xml-rpc2 - PHP XML-RPC client/server library
p php-xml-svg - XML_SVG API
v php-xml-util -
v php-xmlreader -
v php-xmlreader:i386 -
p php-xmlrpc - XML-RPC servers and clients functions for PHP
v php-xmlrpc:i386 -
p php-xmlrpc-all-dev - XML-RPC servers and clients functions for PHP
v php-xmlwriter -
v php-xmlwriter:i386 -
Run Code Online (Sandbox Code Playgroud)
的输出php -m
[PHP Modules]
calendar
Core
ctype
curl
date
dom
exif
FFI
fileinfo
filter
ftp
gettext
hash
iconv
json
libxml
mbstring
openssl
pcntl
pcre
PDO
Phar
posix
readline
Reflection
session
shmop
sockets
sodium
SPL
standard
sysvmsg
sysvsem
sysvshm
tokenizer
Zend OPcache
zip
zlib
[Zend Modules]
Zend OPcache
Run Code Online (Sandbox Code Playgroud)
Cu *_*way 17
这个 PHP 扩展通常是默认启用的,但如果您使用的是 Ubuntu,则有可能没有启用。
要解决此问题,您只需通过 apt-get 安装 php-xml 扩展即可。
运行以下命令:apt-get install php-xml
如果您在运行该命令时遇到以下错误:404 Not Found
那么您可能只需要更新 via apt-get update
,然后再次运行 php-xml 命令。
我不知道如何专业地回答。但我通过猜测只在文件中添加了以下三行php.ini
。
extension=xmlwriter.so
extension=xml.so
extension=xmlreader.so
Run Code Online (Sandbox Code Playgroud)
是的,它现在正在发挥作用。
注意:就我而言,php.ini
文件位于etc/php/7.4/cli
. 感谢 Toyi 的帮助和时间。