Ich habe Codeigniter-Framework in meinem Projekt. Meine Website läuft auf Windows Azure-Plattform. Manchmal ist es mir diesen Fehler geben:PHP Schwerwiegender Fehler: Fehler in Wincache (Windows Azur)
PHP Fatal error: Failure in Wincache[6484] free_memory: Block 0x41d56d8 not in use in D:\home\site\wwwroot\system\libraries\Log.php on line 44
Ich habe versucht, php.ini zu ändern, indem Wert des Speichers zu ändern:
ini_set('memory_limit','2048M');
Aber dann, nachdem ich überprüfte memory_get_peak_usage();
dann fand ich, dass die Anwendung ist nicht einmal mit mehr als 1MB
. Ich weiß nicht, was hier vor sich geht. Ich bekomme eine leere Seite und die Webseite geht runter, wenn das passiert.
Bitte fragen Sie mich, wenn Sie weitere Informationen oder Code benötigen.
log.php:
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 Datei ist standardmäßig codeigniter Datei.
ENDLÖSUNG:
Ich habe meine php.ini
Datei mit diesem Update:
wincache.fcenabled=0
wincache.ocenabled=0
wincache.ucenabled=0
wincache.reroute_enabled = 0
wincache.srwlocks = 0
Welchen Webserver verwenden Sie, Apache, IIS, andere? Was ist in Zeile 44 der Datei D: \ home \ site \ wwwroot \ system \ libraries \ Log.php? –
Dies zeigt an, dass WinCache versucht hat, einen Speicherblock im prozessübergreifenden Shared-Memory-Segment doppelt freizugeben. –
@RolandoIsidoro: Ich benutze Windows azurblau. Und ich habe meine Frage aktualisiert. –