我正在尝试使用 Avalanche-imagine 包创建缩略图。我使用 OS X 10.7 Lion 和 MAMP PRO 作为 Apache 服务器。
当我调用 twig 文件中的过滤器时,收到 500 错误。
这里我手动输入路径来检查一下:
<img src='{{'store/images/Pictures/P1000665.JPG' | apply_filter('my_thumb')}}'>
我收到这条消息: 获取
http://taller:8888/web/app_dev.php/media/cache/my_thumb/store/images/Pictures/P1000665.JPG 500
(内部服务器错误)
第35行,很奇怪,因为我的缩略图被远远落后了
我按照以下说明安装了 bundle :https://github.com/avalanche123/AvalancheImagineBundle
我不得不说,我在安装它时遇到了几个问题,因为composer.phar 给了我一条错误消息:
“问题1 - symfony/icu v1.2.0 需要 lib-icu >=4.4 -> 请求的链接库 icu 安装了错误的版本或系统中缺少该版本,请确保有提供它的扩展。 - symfony/icu v1.2.0 需要 lib-icu >=4.4 -> 请求的链接库 icu 安装了错误的版本或系统中缺少该版本,请确保有提供它的扩展。 - symfony/icu 1.2.* 的安装请求 -> 可通过 symfony/icu[v1.2.0] 满足。"
我解决了这个问题,在composer.json需求中添加了这一行:
"symfony/icu": "1.0.*",
安装后,我可以使用 Composer 安装 AvalancheImageBundle。
然后我按照他们在说明中所说的这一行更改了 AppKernel:
new Avalanche\Bundle\ImagineBundle\AvalancheImagineBundle(),
但我没有更改自动加载文件,就像安装 FOSUserBundle 时必须做的那样。我需要在那里添加什么吗?
我尝试过这个,但它没有解决我的问题:
$loader->add('imagine', __DIR__.'/../vendor/imagine/imagine/lib');
$loader->add('Avalanche123', __DIR__.'/../vendor'):
其他信息:
我的项目位于:Symfony2/proyecto/taller/here_are_web_app_vendor_and_src 我的apache服务器的目标是:Symfony2/proyecto/taller 使用sortcut fataler 而不是 localhost 我的url是这样的:
http://taller:8888/web/app_dev.php/
我的图片在网址中:Symfony2/proyecto/taller/web/store/images/Pictures/test.jpg 我应该给过滤器提供巫师网址吗?我认为是 store/images/Pictures/test.jpg
问题可能出在包的依赖性上,因为我把那一行放在了composer.json中?
也许我应该在自动加载文件中写一些东西?有任何关于供应商/想象错过的引用吗?
我还尝试安装 liipImagine bundle ,但我不能,因为它说我已经安装了 Imagine 0.3.0 并且我需要 Imagine 0.4.0。如何卸载 Imagine 并安装新版本来运行 liipimaginebudle?
如您所见,没有引用 Imagine (我猜它是 Avalanchebundle 中的整数)
这是我的图片所在的位置,您可以看到 Avalanche 如何创建媒体文件夹:
我不知道问题出在哪里,所以我放了这么多信息。
最佳答案
我使用 LiipImagineBundle 解决了这个问题。
为了首先安装它,我删除了composer.json中的Avalanche引用以及我在appKernel.php等中编写的所有其他内容
然后我更新了composer.phar,它还删除了imagine/imagine 0.3.0供应商库。最后我通过composer正常安装了LiipImagine,安装了较新版本的imagine/imagine,0.4.0。
关于php - symfony2 中 Avalanche-imagine 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17645128/