【发布时间】:2018-06-22 18:28:30
【问题描述】:
我想使用包 Phpspreadsheet 编写一个脚本。我没有php经验。我正在尝试通过 sudo composer require phpoffice/phpspreadsheet 添加对我的脚本的引用。但它不起作用。我收到错误:安装失败,删除 composer.json....如果不知道它为什么不工作。有什么想法吗?
详细错误:
Your requirements could not be resolved to an installable set of packages.
Problem 1
- Installation request for phpoffice/phpspreadsheet ^1.0 -> satisfiable by phpoffice/phpspreadsheet[1.0.0].
- phpoffice/phpspreadsheet 1.0.0 requires ext-dom * -> the requested PHP extension dom is missing from your system.
To enable extensions, verify that they are enabled in those .ini files:
- /etc/php/7.0/cli/php.ini
- /etc/php/7.0/cli/conf.d/10-mysqlnd.ini
- /etc/php/7.0/cli/conf.d/10-opcache.ini
- /etc/php/7.0/cli/conf.d/10-pdo.ini
- /etc/php/7.0/cli/conf.d/20-calendar.ini
- /etc/php/7.0/cli/conf.d/20-ctype.ini
- /etc/php/7.0/cli/conf.d/20-exif.ini
- /etc/php/7.0/cli/conf.d/20-fileinfo.ini
- /etc/php/7.0/cli/conf.d/20-ftp.ini
- /etc/php/7.0/cli/conf.d/20-gettext.ini
- /etc/php/7.0/cli/conf.d/20-iconv.ini
- /etc/php/7.0/cli/conf.d/20-json.ini
- /etc/php/7.0/cli/conf.d/20-mcrypt.ini
- /etc/php/7.0/cli/conf.d/20-mysqli.ini
- /etc/php/7.0/cli/conf.d/20-pdo_mysql.ini
- /etc/php/7.0/cli/conf.d/20-phar.ini
- /etc/php/7.0/cli/conf.d/20-posix.ini
- /etc/php/7.0/cli/conf.d/20-readline.ini
- /etc/php/7.0/cli/conf.d/20-shmop.ini
- /etc/php/7.0/cli/conf.d/20-sockets.ini
- /etc/php/7.0/cli/conf.d/20-sysvmsg.ini
- /etc/php/7.0/cli/conf.d/20-sysvsem.ini
- /etc/php/7.0/cli/conf.d/20-sysvshm.ini
- /etc/php/7.0/cli/conf.d/20-tokenizer.ini
You can also run `php --ini` inside terminal to see which files are used by PHP in CLI mode.
Installation failed, reverting ./composer.json to its original content.
【问题讨论】:
-
你可能不应该使用
sudo。通常,composer 依赖项将安装在项目空间中,而不是作为超级用户。但是,如果您在作曲家输出中向上滚动,应该会有更多信息。我刚试了一下,得到 phpoffice/phpspreadsheet 1.0.0 需要 ext-zip * -> 系统中缺少请求的 PHP 扩展 zip,这意味着我没有安装 zip 扩展。您可能有这个问题或其他类似问题。 -
我使用的语句
sudo Composer require phpoffice/phpspreadsheet -
我的意思是你应该只使用
composer require phpoffice/phpspreadsheet而不使用sudo。这样做并发布完整的错误输出。它应该提供的不仅仅是“安装失败” -
是的,我收到了:
failed to open stream: Permission denied -
好的,那么您可能在尝试安装它的位置没有写入权限,并且
sudo是 必要的。所以请使用sudo,但要包含完整的错误输出(编辑您的原始帖子而不是评论)。
标签: php excel phpspreadsheet