我在 IIS 8.5 上将 PHP 5.6.2 x86 (nts) 更改为 x64 (nts),除 imagick 之外,几乎所有扩展都可以正常工作。
我尝试将 imagick 二进制文件更新到最新的 x64 dll 版本(6.8.9-8-Q16-x64-dll)但没有帮助。哦,当然我也尝试了 x86 二进制文件。
我从 php.net 重新下载了 imagick php 扩展(php_imagick-3.1.2-5.6-nts-vc11-x64) 但它没有帮助。
增加内存限制没有任何区别。
当我尝试运行任何 php 脚本时(包含 PHP 信息)然后我得到了 http 500 错误。每次我重新加载 php_info() 时,错误日志中都会尝试分配不同大小的内存,即使 memory_limit 高于它尝试分配的大小,它也会遇到此错误。
可能是什么问题呢?
这是一些 php.ini 设置
memory_limit = 256M
cgi.force_redirect = 0
cgi.fix_pathinfo = 1
fastcgi.impersonate = 1
fastcgi.logging = 0
max_execution_time = 300
date.timezone = Europe/Budapest
[PHP_WINCACHE]
extension=php_wincache.dll
[PHP_IMAGICK]
extension=php_imagick.dll
[SourceGuardian]
extension=ixed.5.6.win
这是我的错误日志:
[17-Oct-2014 05:32:30 Europe/Budapest] PHP Warning: PHP Startup: in Unknown on line 0
[17-Oct-2014 05:32:30 Europe/Budapest] PHP Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 2668343408 bytes) in Unknown on line 0
[17-Oct-2014 05:35:01 Europe/Budapest] PHP Warning: PHP Startup: in Unknown on line 0
[17-Oct-2014 05:35:01 Europe/Budapest] PHP Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 2102673520 bytes) in Unknown on line 0
[17-Oct-2014 05:40:22 Europe/Budapest] PHP Warning: PHP Startup: in Unknown on line 0
[17-Oct-2014 05:40:22 Europe/Budapest] PHP Fatal error: Allowed memory size of 536870912 bytes exhausted (tried to allocate 3299324016 bytes) in Unknown on line 0