首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP致命错误: wincache失败(windows azure)

PHP致命错误: wincache失败(windows azure)
EN

Stack Overflow用户
提问于 2015-04-24 16:32:57
回答 2查看 742关注 0票数 8

我在我的项目中有代码点火器框架。我的网站运行在windows平台上。有时我会犯这样的错误:

PHP致命错误: Wincache6484 free_memory中的失败:第44行D:\home\site\wwwroot\system\libraries\Log.php中未使用的块0x41d56d8

我试图通过更改内存的值来更改php.ini文件:

代码语言:javascript
复制
ini_set('memory_limit','2048M');

但是,在我检查了memory_get_peak_usage();之后,我发现应用程序甚至没有比1MB更多的使用。我不知道这里发生了什么。我得到了空白页和网站,当这种情况下。

请问我你是否需要更多的信息或代码。

Log.php:

代码语言:javascript
复制
public function __construct()
{
    $config =& get_config();

    $this->_log_path = ($config['log_path'] != '') ? $config['log_path'] : APPPATH.'logs/';

    if ( ! is_dir($this->_log_path) OR ! is_really_writable($this->_log_path)) // This is line 44.
    {
        $this->_enabled = FALSE;
    }

    if (is_numeric($config['log_threshold']))
    {
        $this->_threshold = $config['log_threshold'];
    }

    if ($config['log_date_format'] != '')
    {
        $this->_date_fmt = $config['log_date_format'];
    }
}

log.php文件是默认的代码点火器文件。

最终解决方案:

我用以下内容更新了我的php.ini文件:

代码语言:javascript
复制
wincache.fcenabled=0
wincache.ocenabled=0
wincache.ucenabled=0
wincache.reroute_enabled = 0
wincache.srwlocks = 0
EN

回答 2

Stack Overflow用户

发布于 2015-04-27 18:24:50

这是Windows上的IIS或WinCache的一个问题。您可以在iis论坛上跟踪官方螺纹。为了确定,请在php.ini中检查以下选项:

代码语言:javascript
复制
wincache.reroute_enabled = 0
wincache.srwlocks = 0

还将wincache更新为最新版本。

票数 3
EN

Stack Overflow用户

发布于 2015-06-04 21:58:43

特定的WinCache错误消息已从WinCache 1.3.7.5中删除,该消息在最近的更新中被删除。

至于错误消息的含义:在试图释放跨进程共享内存段中的内存块时,WinCache检测到该块已经被释放。消息表明WinCache检测到了问题,避免了损坏内存。这个消息应该是一个警告级别的消息。此外,执行请求应该运行到完成,并且响应应该返回给客户。

在WinCache 1.3.7.4之前,WinCache没有检测到这个场景,最终会导致内存损坏,最终导致AV。因此,错误消息实际上表明WinCache刚刚将您从崩溃中拯救出来,欢迎您!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29852844

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档