无法安装 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 包 - 干预图像的主要内容,如果未能解决你的问题,请参考以下文章
Laravel - 即使 PHP 版本是必需的,也无法安装包
如何使用干预图像laravel将webp图像转换为jpeg或png
laravel composer install 无法解决 tymon/jwt-auth 的可安装包