无法在 Azure 上为 PHP 加载 Image ImageMagick
Unable to load Image ImageMagick for PHP on Azure
因此,我开始探索 Azure,并尝试在我的免费 Azure 层上设置 PHP、MySQL。
我在 Azure 上设置了 WebApp,phpinfo()
运行良好。
不过我在设置 ImageMagick 时遇到了问题。
我在默认PHP 5.4.42
我从 https://pecl.php.net/package/imagick/3.1.2/windows
下载了 ImageMagick 的扩展 dll
具体来说,我得到了 http://windows.php.net/downloads/pecl/releases/imagick/3.1.2/php_imagick-3.1.2-5.4-nts-vc9-x86.zip 文件,它是 PHP 5.4
的 nts 版本
接下来,我按照 https://azure.microsoft.com/en-us/documentation/articles/web-sites-php-configure/
中的步骤操作
我在我的 wwwroot 文件夹下创建了一个名为 'bin' 的文件夹。所以现在 mu 站点路径看起来像 /site/wwwroot/bin
。
在这个 bin 文件夹中,我复制了 php_imagick.dll
文件和其他 8 个 Core_RL*.*
文件。
接下来,在我的 Azure 应用程序设置中,我添加了 PHP_EXTENSIONS
键,值为 bin\php_imagick.dll
然后我重新启动了我的网络应用程序,但我只在我的 azure 日志中收到以下错误:
PHP Warning: PHP Startup: Unable to load dynamic library 'D:\home\site\wwwroot\bin\php_imagick.dll' - The specified module could not be found.
in Unknown on line 0
作为替代方案,现在我已将 PHP 版本更改为 5.6(Azure 上的最新版本),并从 pecl 站点放置了相应版本的 imagick 文件。这没有解决任何问题。
我也试过 ini 方法,通过在站点文件夹下创建 ext 和 ini 文件夹,并创建相应的 'PHP_INI_SCAN_DIR' 设置,但是在重新启动应用程序时,phpinfo() 中没有显示任何内容。很伤心:(
请建议我可以尝试如何解决此问题。
并非所有版本的 Imagemagick 都兼容。
这是一个引用了正确资源的存储库 https://github.com/snobu/php-imagick-webapps。
下载这些资源(NTS 版本)
http://windows.php.net/downloads/pecl/releases/imagick/3.3.0rc2/php_imagick-3.3.0rc2-5.6-nts-vc11-x86.zip
http://www.imagemagick.org/download/binaries/ImageMagick-6.9.2-8-Q16-x86-dll.exe
按照本文中的步骤操作,它会起作用 http://blogs.msdn.com/b/azureossds/archive/2015/12/01/php-imagemagick-on-azure-web-apps.aspx
因此,我开始探索 Azure,并尝试在我的免费 Azure 层上设置 PHP、MySQL。
我在 Azure 上设置了 WebApp,phpinfo()
运行良好。
不过我在设置 ImageMagick 时遇到了问题。
我在默认PHP 5.4.42 我从 https://pecl.php.net/package/imagick/3.1.2/windows
下载了 ImageMagick 的扩展 dll具体来说,我得到了 http://windows.php.net/downloads/pecl/releases/imagick/3.1.2/php_imagick-3.1.2-5.4-nts-vc9-x86.zip 文件,它是 PHP 5.4
的 nts 版本接下来,我按照 https://azure.microsoft.com/en-us/documentation/articles/web-sites-php-configure/
中的步骤操作我在我的 wwwroot 文件夹下创建了一个名为 'bin' 的文件夹。所以现在 mu 站点路径看起来像 /site/wwwroot/bin
。
在这个 bin 文件夹中,我复制了 php_imagick.dll
文件和其他 8 个 Core_RL*.*
文件。
接下来,在我的 Azure 应用程序设置中,我添加了 PHP_EXTENSIONS
键,值为 bin\php_imagick.dll
然后我重新启动了我的网络应用程序,但我只在我的 azure 日志中收到以下错误:
PHP Warning: PHP Startup: Unable to load dynamic library 'D:\home\site\wwwroot\bin\php_imagick.dll' - The specified module could not be found. in Unknown on line 0
作为替代方案,现在我已将 PHP 版本更改为 5.6(Azure 上的最新版本),并从 pecl 站点放置了相应版本的 imagick 文件。这没有解决任何问题。
我也试过 ini 方法,通过在站点文件夹下创建 ext 和 ini 文件夹,并创建相应的 'PHP_INI_SCAN_DIR' 设置,但是在重新启动应用程序时,phpinfo() 中没有显示任何内容。很伤心:(
请建议我可以尝试如何解决此问题。
并非所有版本的 Imagemagick 都兼容。 这是一个引用了正确资源的存储库 https://github.com/snobu/php-imagick-webapps。
下载这些资源(NTS 版本)
http://windows.php.net/downloads/pecl/releases/imagick/3.3.0rc2/php_imagick-3.3.0rc2-5.6-nts-vc11-x86.zip http://www.imagemagick.org/download/binaries/ImageMagick-6.9.2-8-Q16-x86-dll.exe
按照本文中的步骤操作,它会起作用 http://blogs.msdn.com/b/azureossds/archive/2015/12/01/php-imagemagick-on-azure-web-apps.aspx