【问题标题】:PHP fails to load imagick extension (Windows)PHP 无法加载 imagick 扩展(Windows)
【发布时间】:2021-09-30 23:31:57
【问题描述】:

多年来,我对此的看法为零。在此之前,我们总是无法加载 php_imagick.dll。突然,这个过程在 2 台机器上失败了(也许更多,但我们肯定知道 2 台,都是开发机器)。什么都没有改变 - 没有更新,没有配置,什么都没有,只是突然,在 2 台开发机器上它失败了。这不会在至少 1 台其他开发机器和我们的测试机器上失败(幸运的是在生产中也没有失败)。

C:\windows\system32>C:\PHP\php.exe -cC:/php/devrc/php.ini -m

Warning: PHP Startup: Unable to load dynamic library 'imagick' (试过: ext\imagick (The specified module could not be found.), ext\php_imagick.dll (The specified module could not be found.)) in第0行未知

我已经尝试了所有我能想到的东西,据我所知,它们是相同的。

我什至买了一个全新的虚拟机。将文件从故障机器(c:\PHP 和 c:\imagemagick)复制到该机器。安装了vcredist140。因同样的问题而失败。将 c:\imagemagick 添加到 %PATH% 变量中。有效!

我已验证 c:\imagemagick 在路径中,甚至尝试将文件复制到 c:\PHP,但仍然失败。发生了一些变化,影响了 2 台机器,而且只有 2 台(到目前为止)机器。所有机器都是 Windows 10 21H1 或 Server 2019,失败的两台是 Windows 10 21H1。

我们正在使用 Jan E 在https://www.apachelounge.com/viewtopic.php?t=6359 上构建的 7.4.21,包括为 c:\imagemagick 文件夹创建的工件。不过,我也试过https://mlocati.github.io/articles/php-windows-imagick.html

我知道它们是相同的,因为我们将 c:\PHP 和 c:\imagemagick 都放在 Git 存储库中。

【问题讨论】:

  • 现在这没有任何意义。突然,无法加载扩展的两台机器都不再存在了,但现在我们所有的开发机器(幸好这还没有达到测试或生产)都像这样失败:RegistryKeyLookupFailed `CoderModulesPath' @ error/module.c/GetMagickModulePath /665
  • 现在,我切换到这个版本的 Image Magick 和 php_imagick.dll,mlocati.github.io/articles/php-windows-imagick.html,现在一切正常。仍然不知道我做了什么来解决原来的问题。

标签: php imagemagick imagick


【解决方案1】:

我建议使用 deplister.exe(包含在 windows.php.net 的所有二进制 zip 中)来跟踪依赖项。所以打电话给deplister php_imagick.dll;这应该列出所有依赖项,以及是否可以找到它们。

【讨论】:

  • 我在评论中看不到格式化此结果的方法,但所有部门都可以。 C:\PHP>deplister.exe ext\php_imagick.dll php7.dll,OK CORE_RL_MagickWand_.dll,OK CORE_RL_MagickCore_.dll,OK KERNEL32.dll,OK VCRUNTIME140.dll,OK api-ms-win-crt-heap-l1- 1-0.dll,OK api-ms-win-crt-string-l1-1-0.dll,OK api-ms-win-crt-math-l1-1-0.dll,OK api-ms-win -crt-runtime-l1-1-0.dll,好的 api-ms-win-crt-convert-l1-1-0.dll,好的 api-ms-win-crt-stdio-l1-1-0.dll ,好的 api-ms-win-crt-locale-l1-1-0.dll,好的
猜你喜欢
  • 1970-01-01
  • 2013-05-01
  • 1970-01-01
  • 2011-04-25
  • 2013-02-10
  • 2014-04-10
  • 1970-01-01
  • 2013-04-27
相关资源
最近更新 更多