【问题标题】:Cannot Install Laravel Package - Intervention Image无法安装 Laravel 包 - 干预图像
【发布时间】:2014-07-29 09:16:02
【问题描述】:

所以我正在关注 Jeffrey Way 的 tuts+ Premium 教程 - 在 Laravel 4 中创建电子商务应用程序,但我遇到了这个问题。他通过使用"intervention/image": "dev-master" 这一行编辑composer.json 文件来安装一个包,然后在他的控制台中输入“composer update”。我尝试相同,但它不会工作。

显示此错误

" 问题 1 - 干预/图像 2.0.2 需要 ext-fileinfo * -> 请求的 PHP exte 您的系统中缺少 nsion 文件信息。 - 干预/图像 2.0.1 需要 ext-fileinfo * -> 请求的 PHP exte 您的系统中缺少 nsion 文件信息。 - 干预/图像 2.0.0 需要 ext-fileinfo * -> 请求的 PHP exte 您的系统中缺少 nsion 文件信息。 - 干预/图像 2.* 的安装请求 -> 可通过干预满足 化/图像[2.0.0, 2.0.1, 2.0.2]。”

我已尝试按照他们在 http://image.intervention.io/getting_started/installation 上的说明进行操作,但它不起作用。

我不知道如何处理这个问题。请帮忙。我还在某处读到我应该编辑 php.ini 文件并取消注释 fileinfo 的一行,但再次重新启动 Apache 后它不起作用。

我正在使用带有 wamp 和 Laravel 的 Windows 8。

任何帮助将不胜感激。

【问题讨论】:

    标签: php laravel frameworks laravel-4 package


    【解决方案1】:

    确保您的php\ext 文件夹中已安装/可用php_fileinfo.dll,并确保php.ini 文件中未注释以下行:

    extension=php_fileinfo.dll
    

    如果是这样评论的:

    ;extension=php_fileinfo.dll
    

    然后从行首删除;,然后重新启动wamp/apache 服务器。

    更新:

    但是,有些 Web 服务器会让人感到困惑,因为它们不使用 php.ini 位于您的 PHP 可执行文件旁边。找出您的位置 实际存在 php.ini,在 phpinfo() 中查找它的路径:

    激活扩展后,保存 php.ini,重新启动 Web 服务器并再次检查 phpinfo()。新的扩展现在应该有自己的部分了。

    同时查看PHP 手册中的Installing a PHP extension on Windows (Resolving problems)。

    【讨论】:

    • php_fileinfo.dll 在我的 wamp 中的 php/ext 文件夹中,并且正如我之前所说,该行未注释:“我还阅读了某个地方,我应该编辑 php.ini 文件并取消注释一行fileinfo 但在再次重新启动 Apache 后它不起作用。”感谢您愿意提供帮助。我很感激。
    • 如果它在ext 文件夹中可用并且在php.ini 文件中也没有注释,那么应该安装它,确保你重新启动了apache服务器,或者只是重新启动系统。
    • 从这两个链接中可以看出,该行未注释 dodaj.rs/f/2g/aS/2UaVmzd1/snip.jpg 并且文件在我的 ext 文件夹中 dodaj.rs/f/1r/AL/Xb3sF8V/snip2.jpg 我尝试重新启动 PC,但它不起作用 - 同样的错误信息。我不知道还能做什么:/
    • 您可以从php 脚本运行phpinfo() 函数,只需创建一个php 文件,即htdocs/info.php 并写入<?php phpinfo(); ?>,然后使用localhost/info.php 从浏览器。每个扩展都应该有自己的部分。
    • 谢谢 Alpha,当我在 Laravel 项目中使用 Wnmp 作为本地 Web 服务器取消注释“extension=fileinfo”时,它对我有用。
    【解决方案2】:

    我遇到了这个问题。问题在于 Apache 使用的 php.ini 文件与 CLI 不同。只需在您的 wamp 文件夹中搜索 php.ini 并在所有文件中进行更改...

    【讨论】:

      【解决方案3】:

      有2个php.ini文件:

      wamp\bin\php\php5.4.3\php.ini
      wamp\bin\apache\Apache2.4.4\bin\php.ini

      确保扩展名在两者中都未注释,然后重新启动 apache。

      【讨论】:

        【解决方案4】:

        显然这是因为 web/apache 和 CLI 有单独的 php.ini 文件,并且由于 composer 使用 CLI 而 phpinfo() 使用主要的 php.ini,所以会出现问题。

        如果您在 CLI 中运行 php -m 并且看不到模块的名称,您应该找到 CLI php.ini(在我的情况下为 php-cli.ini 并添加扩展名。例如 extension=php_fileinfo.dll

        见:Composer: The requested PHP extension ext-intl * is missing from your system

        【讨论】:

          【解决方案5】:

          对我来说,我只是在列表中插入,因为我找不到它 [extension=php_fileinfo.dll] 在[ExtensionList] 之后

          [ExtensionList]
          
          **extension=php_fileinfo.dll**<br>
          extension=php_mysqli.dll<br>
          extension=php_mbstring.dll<br>
          extension=php_gd2.dll<br>
          extension=php_gettext.dll<br>
          extension=php_curl.dll<br>
          extension=php_exif.dll<br>
          extension=php_xmlrpc.dll<br>
          extension=php_openssl.dll<br>
          extension=php_soap.dll<br>
          extension=php_pdo_mysql.dll<br>
          extension=php_pdo_sqlite.dll<br>
          extension=php_imap.dll<br>
          extension=php_tidy.dll<br>
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2021-07-06
            • 1970-01-01
            • 2015-07-14
            • 1970-01-01
            • 2015-09-23
            • 1970-01-01
            • 2015-02-09
            • 1970-01-01
            相关资源
            最近更新 更多