无法安装 Laravel 包 - 干预图像

Posted

技术标签:

【中文标题】无法安装 Laravel 包 - 干预图像【英文标题】:Cannot Install Laravel Package - Intervention Image 【发布时间】: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。

任何帮助将不胜感激。

【问题讨论】:

【参考方案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>

【讨论】:

以上是关于无法安装 Laravel 包 - 干预图像的主要内容,如果未能解决你的问题,请参考以下文章

无法将 Jetstream 包安装到 Laravel 项目

Laravel - 即使 PHP 版本是必需的,也无法安装包

如何使用干预图像laravel将webp图像转换为jpeg或png

laravel composer install 无法解决 tymon/jwt-auth 的可安装包

我无法在 laravel 5.3 中安装 github laroute 包

干预/图像无法下载