PHPStorm 告诉我,我需要作曲家 require ext-zip,但是,该命令失败了......
PHPStorm 说
我发出的命令是
composer require ext-zip
结果
Your requirements could not be resolved to an installable set of packages.
和
Installation failed, reverting ./composer.json to its original content.
解决方案#1 - 将 ext-zip 添加到composer.json 的所需部分:
{
"require" : {
"ext-zip": "*"
}
}
解决方案#2 - 安装 php-zip 扩展:
Windows:
在 php.ini 中取消注释此行
;扩展名=php_zip.dll
Linux:
sudo apt-get install php-zip
或
sudo apt-get install php7.0-zip(确保您输入了您的 php 版本,您可以通过执行 php -v 命令检查您的版本)
然后,您需要重新启动网络服务器。
sudo 服务 apache2 重新启动
给定的提示来自 PhpStorm,而不是来自 Composer 本身:您的 IDE 已检测到您的代码使用了仅在启用 ZIP 扩展时才可用的方法(或在本例中:
ZipArchive
类)。但到目前为止,您的 composer.json
不包含该要求。
因此,PhpStorm 要求您将此要求添加到 JSON 文件中,以使运行代码的要求更加精确。如何解决该要求取决于您:最好的方法是安装该扩展,但这超出了作曲家的范围
如果您的代码运行正常 - 您已经在计算机上安装了 zip 扩展名。 PHPStorm 添加此建议是为了确保项目部署的其他任何地方也具有正确的扩展。
在您的composer.json文件(
require
块)中手动添加该行"ext-zip": "*",
(以及它可以建议的其他行,例如ext-apc
,ext-redis
和ext-json
,以及您可能建议的任何其他行)正在使用)将确保当您部署它时,作曲家还可以检查是否安装了适当的额外项目。
这只是一个警告,您可以忽略它 - 或者您可以允许 Composer 确保您的服务器已设置,因为它们需要运行您的代码并使用 zip 文件执行操作。如果您的服务器没有安装 ext-zip,
composer install
会抱怨,并在稍后发现代码在没有 zip 扩展名的情况下失败等情况下停止保存问题。
在 Windows 中这行
;extension=php_zip.dll
已更改为
;extension=zip
所以请务必取消注释
extension=zip
如果有效的话,为你加油!!!