Php XAMPP下作为模块的ImageMagick的问题

Php XAMPP下作为模块的ImageMagick的问题,php,module,xampp,typo3,imagick,Php,Module,Xampp,Typo3,Imagick,我一直在努力将ImageMagick模块安装到我的Typo3应用程序的XAMPP安装中。PHP是5.4.19、x86和MSVC9。我尝试了不同版本的IM和IM模块,在Apache启动时总是出现不同的错误,包括 %1不是有效的win32应用程序 php5.dll丢失 过程入口点MagickGetImageMatte无法在dynamic CORE\u RL\u wan\uu.dll中找到 最后一个错误是PHP 5.4线程安全x86模块和ImageMagick-6.8.8-7-Q16-x86-dll.

我一直在努力将ImageMagick模块安装到我的Typo3应用程序的XAMPP安装中。PHP是5.4.19、x86和MSVC9。我尝试了不同版本的IM和IM模块,在Apache启动时总是出现不同的错误,包括

  • %1不是有效的win32应用程序
  • php5.dll丢失
  • 过程入口点MagickGetImageMatte无法在dynamic CORE\u RL\u wan\uu.dll中找到
  • 最后一个错误是PHP 5.4线程安全x86模块和ImageMagick-6.8.8-7-Q16-x86-dll.exe ImageMagick安装。然后,我尝试将模块存档中包含的核心DLL复制到ImageMagick文件夹中(替换原始DLL)。错误消失了,Apache启动时没有任何错误,imagick模块最终出现在phpinfo中

    ImageMagick number of supported formats: 0
    ImageMagick supported formats no value
    

    在Type3中,相关功能表明它仍然不能正常工作。如果我是你,我就不会再尝试使用ImageMagick PHP模块了。 这其实是没有必要的

    我甚至不确定TYPO3是否可以处理这个模块,因为我从未尝试过。 多年以来,我只是将TYPO3指向ImageMagick的二进制文件夹,所有工具(转换、合成、识别)都位于该文件夹中

    当然,PHP必须能够调用这些二进制文件(
    exec()
    函数必须是anabled,并且此文件夹必须位于
    open\u basedir
    中(如果使用)。从那时起,它就是这样工作的:-)

    我记得我使用WAMP环境的几次,我对它也没有任何问题

    只需下载并安装ImageMagick的windows二进制文件。 安装文件夹内必须有一个名为/bin的文件夹。 所需的工具必须作为exec文件存在

    现在只需将TYPO3配置设置为指向此文件夹,包括尾部斜杠。 对于windows,我记得一定是这样的

    $TYPO3_CONF_VARS['GFX']['im_path'] = 'C:\\programs\\imagemagick\\bin\\';
    
    您也可以使用GraphicsMagic的二进制文件而不是ImageMagick。
    他们更容易找到,表现也很好

    感谢您的建议,+1,但是,当我部署到服务器时,imagick将作为php模块提供,因此我希望使两个位置的环境相同(同时减少在执行此操作时编辑特定文件的需要)。如果它是可交换的,我会尝试GraphicsMagic。无论如何,我确信TYPO3不支持PHP模块,只支持我描述的二进制文件。因此,请确保您也可以使用生产服务器上的二进制文件,并询问exec()的可用性和二进制文件的路径。路径通常是/usr/bin/或/usr/local/bin/。在服务器上,只有模块可用,与图片有关的所有内容都可以正常工作。我刚刚检查了TYPO3 6.1.7,class
    TYPO3\CMS\Core\Imaging\GraphicalFunctions
    ,通过调用exec()只使用二进制文件。TYPO3不可能使用PHPImagick模块。事实上,在整个内核中也没有一个类名
    Imagick
    的痕迹。