PHPStorm告诉我,我需要作曲家需要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.
答案 0 :(得分:4)
给定的提示来自PhpStorm,而不是来自composer本身:您的IDE检测到您的代码使用仅在启用ZIP扩展时可用的方法(在本例中为ZipArchive
类)。但是您的composer.json
到目前为止尚未包含该要求。
因此,PhpStorm要求您将此要求添加到JSON文件中,以使运行代码的要求更加精确。如何解决此需求取决于您:最佳方法是安装该扩展程序,但这超出了作曲家的范围
答案 1 :(得分:4)
如果您的代码运行正常-您已经在计算机上安装了zip扩展名。 PHPStorm添加了此建议,以确保在项目部署的其他任何地方也具有正确的扩展名。
手动将行添加到composer.json文件(require
块)"ext-zip": "*",
(以及它可能建议的其他行中,例如ext-apc
,ext-redis
和{{ 1}},以及您可能使用的任何其他工具),请确保在部署它时,作曲家还可以检查是否安装了适当的额外项目。
不过,这只是一个警告,您可以忽略它-或可以让作曲家确定服务器的设置如运行代码和使用zip文件所需的设置。如果您的服务器未安装ext-zip,ext-json
会抱怨,然后停止-稍后发现问题,如果您发现没有zip扩展名的代码失败,则保存问题,等等。
答案 2 :(得分:3)
解决方案#1 -将ext-zip添加到composer.json的必需部分:
{
"require" : {
"ext-zip": "*"
}
}
解决方案2 -安装php-zip扩展名:
Windows:
在您的php.ini中取消注释此行
; extension = php_zip.dll
Linux:
sudo apt-get install php-zip
或
sudo apt-get install php7.0-zip(确保输入了您的php版本,您可以通过执行php -v命令来检查您的版本)
然后,您需要重新启动Web服务器。
sudo服务apache2重新启动