我有ext-fileinfo但是Composer说它丢失了

时间:2014-07-20 11:41:40

标签: php laravel composer-php

我试图安装Laravel套件干预图像,当我运行composer update时:

Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - intervention/image 2.0.5 requires ext-fileinfo * -> the requested PHP extension fileinfo is missing from your system.
    - intervention/image 2.0.4 requires ext-fileinfo * -> the requested PHP extension fileinfo is missing from your system.
    - intervention/image 2.0.3 requires ext-fileinfo * -> the requested PHP extension fileinfo is missing from your system.
    - intervention/image 2.0.2 requires ext-fileinfo * -> the requested PHP extension fileinfo is missing from your system.
    - intervention/image 2.0.1 requires ext-fileinfo * -> the requested PHP extension fileinfo is missing from your system.
    - intervention/image 2.0.0 requires ext-fileinfo * -> the requested PHP extension fileinfo is missing from your system.
    - Installation request for intervention/image 2.* -> satisfiable by intervention/image[2.0.0, 2.0.1, 2.0.2, 2.0.3, 2.0.4, 2.0.5].

我有php 5.4,并在php.iniphpinfo()中启用了扩展程序:

                    fileinfo

fileinfo support                  enabled
version                           1.0.5

并重新启动apache ......但仍然没有运气。

9 个答案:

答案 0 :(得分:23)

Windows用户:只需修改php.ini并取消注释此行:

extension=php_fileinfo.dll

请记住重新启动Apache以使新的php.ini生效。

答案 1 :(得分:19)

显然,这是因为web / apache和CLI有单独的php.ini文件,而作曲家使用CLI,而phpinfo()使用主php.ini,则会出现问题。

如果您在CLI中运行php -m并且没有看到模块的名称,您应该找到CLI php.ini(在我的情况下为php-cli.ini并添加扩展名。例如{{1} }

答案 2 :(得分:12)

我有同样的问题。现在修复。
你也可以取消注释这一行

extension=php_fileinfo.dll  

在以下文件中:

  1. php.ini-development
  2. php.ini-production
  3. 请不要忘记你的Apache restart 希望这会有所帮助。

答案 3 :(得分:4)

根据你的平台,可能会有更多的php.ini,如果你使用的是Wamp,那么有两个:

  • 瓦帕\ BIN \ PHP中\ php5.4.3 \ php.ini中
  • 瓦帕\ BIN \阿帕奇\ Apache2.4.4 \ BIN \ php.ini中

确保两者中的扩展名都未启用,然后重新启动apache。

答案 4 :(得分:2)

在Windows上,我必须在php.ini文件中添加行extension=php_fileinfo.dll

答案 5 :(得分:1)

在php ini配置文件中取消注释extension = php_fileinfo.dll(如果需要的话,php.ini-development) 然后,如果您正在使用XAMPP,请使用apache shell。它可以从XAMPP控制面板加载 运行php -m来验证是否加载了扩展。 然后运行composer install。

答案 6 :(得分:0)

我有同样的问题。通过转到wamp/bin文件夹并搜索.ini来修复。您会找到几个php.ini个文件。

编辑所有这些行中的extension=php_fileinfo.dll行,删除;在每个人的乞讨。重新启动WAMP,在命令行中输入php -m以检查fileinfo是否存在。

应该有效。

答案 7 :(得分:0)

如果有人想知道如何在cpanel(基于Linux)中执行此操作,只需在搜索框中搜索选择php版本,然后单击它,然后在下一个屏幕上将显示当前的php版本,接下来您将看到很多带有某些值的复选框,所以现在,您可以在此处检查phpinfo并单击“保存”以避免您的作曲家错误。

答案 8 :(得分:0)

对我来说,使用php 7.4.x和Windows 10有所不同。

我以php.ini检查了CLI模式下PHP使用了哪个php --ini文件。

它显示了C:\php7\php.ini-我以前在其中解压缩PHP(并在其中指向Composer)。

然后我需要在该文件中取消注释 extension=fileinfo