我只是从Linux的一个网站转移到Windows,我收到奇怪的致命错误信息。 我的Linux的PHP有256MB的内存限制,从来没有一个“内存不足”的致命错误。
现在在IIS上我有相同的内存限制,但我收到太多
PHP Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 32508940 bytes) in C:\...\functions.php on line 0
我试图增加(400MB),看看会发生什么,这就是我得到的
PHP Fatal error: Allowed memory size of 419430400 bytes exhausted (tried to allocate 65013862 bytes) in C:\....\dbfunctions.php on line 1073741824
奇怪的是,它是相同的应用程序,相同的内存限制设置..也奇怪的是,第二个错误说:“在线1073741824”,但哇,该文件有500行。 这是一个Windows / IIS / PHP的问题?
我的configuration:IIS 8.0,PHP 5.3.28,PHP处理程序php-cgi.exe
似乎有太多的问题围绕PHP的Windowscaching扩展,它设置了PHP的硬盘内存限制。
微软IIS.net文章
有一些例子和博客post中删除wincache解决了这个问题,但这可能会对网站的性能产生不利的影响。
与声音相似的wincache相关问题的示例
php.ini – 位于根文件夹中。 在TextPad中编辑并更改momory_limit的值。 如果4M不够8M等等
在admin.php (如果你的错误是在这里)在ini_set 'memory_limit', '12M'之后添加一个内存限制线ini_set 'memory_limit', '12M'如果12MB的内存是你想要添加
您可以添加一行到.htaccess : php_value memory_limit 32M
wp-config.php可以控制内存。 你把这条线看起来像这样
define('WP_MEMORY_LIMIT', '32M');
信息从phpbb.com和technet.microsoft.com拉