无法使用Composer安装Laravel(缺少ext-zip扩展)

5

我尝试使用Composer在我的Debian 9终端上安装Laravel。

composer global require laravel/installer

但我收到以下错误:

Using version ^3.0 for laravel/installer
./composer.json has been created
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - laravel/installer v3.0.1 requires ext-zip * -> the requested PHP extension zip is missing from your system.
    - laravel/installer v3.0.0 requires ext-zip * -> the requested PHP extension zip is missing from your system.
    - Installation request for laravel/installer ^3.0 -> satisfiable by laravel/installer[v3.0.0, v3.0.1].

  To enable extensions, verify that they are enabled in your .ini files:
    - /opt/lampp/etc/php.ini
  You can also run `php --ini` inside terminal to see which files are used by PHP in CLI mode.

Installation failed, deleting ./composer.json.

我尝试使用以下命令安装PHP扩展Zip:

apt-get install php7.4-zip

并且

apt-get install php-zip

同时还需要编辑php.ini文件,取消以下行的注释:

extension=php_zip.dll
extension="zip.so"

但是什么都不起作用,我还是遇到了同样的错误...


我使用XAMPP安装了PHP,并使用/opt/lampp/xampp restart命令重启,但是Laravel的安装并没有成功。 - Lilian
第二步是检查扩展是否真的已安装 php -m,你也可以使用 grep 命令 php -m | grep zip - Emad Ha
1
第三步将是检查Composer是否使用了实际的PHP版本,为此,您可以尝试php composer.phar,其中composer.phar是其路径,我曾经使用不同的PHP版本,所以这也可能是一个原因。 - Emad Ha
@Lilian 我更新了我的答案,提供了另外两种可能的解决方法/解决方案。 - Emad Ha
你尝试过使用 composer create-project laravel/laravel 安装 Laravel 吗? - Emad Ha
显示剩余4条评论
3个回答

3
  • 更改后请确保重新启动Web服务器
  • 使用php -m命令列出已编制的模块
  • 我曾经遇到过这种情况(在plesk上),composer使用的php版本与php本身使用的版本不同
  • 你可以尝试使用php composer.phar(该位置)查看结果

如果安装Laravel很重要

以下是一些可能的解决方案

  • composer create-project laravel/laravel [dir]
  • 或者先git clone https://github.com/laravel/laravel.git,然后进入该目录,通常是laravel目录,所以cd laravel ,然后运行composer install

为什么应该重新启动Web服务器?在shell上运行的PHP不使用任何Web服务器。 - Nico Haase
@NicoHaase 因为我们对远程环境了解不多,所以尝试一下会很有用。 - Emad Ha
我将我的答案与终端下的行一起发布了,我不知道该怎么办... - Lilian

3

我遇到了和你一样的问题。

我通过执行以下命令,发现我的PHP环境缺少 zip 扩展:

php -m

我做过

apt search php | grep zip

为了看看是否有可安装的软件包,我发现了php-zip,于是我进行了安装。
sudo apt install php-zip

在执行命令 php -m 后,列表中显示了 zip

然后我尝试再次安装 Laravel。

composer global require laravel/installer

并且它成功了。


-1

根据您使用的Linux版本和PHP版本,这些可能会有所不同。

(sudo) yum install zip unzip php-zip
(sudo) apt install zip unzip php-zip

请勿复制已有的答案。该问题标记为[tag:debian],在Debian中不使用yum。 - Nico Haase

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接