Foros del Web » Programando para Internet » PHP »

Fatal error: Allowed memory..

Estas en el tema de Fatal error: Allowed memory.. en el foro de PHP en Foros del Web. Hola: Al usar este script me da un error: Cita: Fatal error: Allowed memory size of 104857600 bytes exhausted (tried to allocate 1 bytes) in ...
  #1 (permalink)  
Antiguo 16/08/2010, 08:51
 
Fecha de Ingreso: enero-2009
Ubicación: España
Mensajes: 786
Antigüedad: 15 años, 10 meses
Puntos: 9
Fatal error: Allowed memory..

Hola:


Al usar este script me da un error:

Cita:
Fatal error: Allowed memory size of 104857600 bytes exhausted (tried to allocate 1 bytes) in /home/a1923435/public_html/test.php on line 22
No entiendo ;/ si solo estoy usando 1 bytes porque dice eso?

Probe augmentandole el memory_limit pero sigue tirando lo mismo

Código PHP:
<?php
ini_set
("memory_limit","100M");

$dataFile "online.txt";
$sessionTime "5" //time in **minutes** to consider someone online before removing them
#####################################################
# No editing needed below
#####################################################
error_reporting(E_ERROR E_PARSE);
if(!
file_exists($dataFile)) {
    
$fp fopen($dataFile"w+");
    
fclose($fp);
}
$ip $_SERVER['REMOTE_ADDR'];
$users = array();
$onusers = array();
$timeuser time();
//get users part
$fp fopen($dataFile"r");
flock($fpLOCK_SH);
while(!
feof($fp)) {
    
$users[] = rtrim(fgets($fp));
}
flock($fpLOCK_UN);
fclose($fp);
// pagina actual
if($id == ""){ $paginactual "principal";} else { 
if(
file_exists("$id.php")) { $paginactual $id ;} 
if(!
file_exists("$id.php")) { $paginactual "principal" ;}
}
// refer
$refer=$_SERVER['HTTP_REFERER'];
if(
$refer==""){
$refer="Su PC"
}
// usuario
if($ucnnick == ""){$nameuser "!$paginactual";} else { $nameuser "|$ucnnick|$paginactual|$refer"; }
//cleanup part
$x 0;
$alreadyIn FALSE;
foreach(
$users as $key => $data) {
    list( , 
$lastvisit) = explode("|"$data);
    if(
time() - $lastvisit >= $sessionTime 60) {
        
$users[$x] = "";
    } else {
        if(
strpos($data$ip) !== FALSE) {
            
$alreadyIn TRUE;
            
$users[$x] = "$ip|$timeuser$nameuser"//update record
        
}
    }
    
$x++;
}
if(
$alreadyIn == FALSE) {
    
$users[] = "$ip|$timeuser$nameuser";
}
//write file
$fp fopen($dataFile"w+");
flock($fpLOCK_EX);
$totaluser 0;
foreach(
$users as $single) {
    if(
$single != "") {
        
fwrite($fp$single "\r\n");
        
$totaluser++;
    }
}
flock($fpLOCK_UN);
fclose($fp);
if(
$uo_keepquiet != TRUE) {
    echo 
$totaluser;
}
?>
<br>
Anonimos : 
<?

$fd_anonimo 
fopen($dataFile"r");
$contenido_anonimo fread($fd_anonimofilesize($dataFile));
fclose($fd_anonimo);

$fichero_anonimo explode("!"$contenido_anonimo);
$fichero_anonimo array_slice($fichero_anonimo0, -1);
$fichero_anonimo array_reverse($fichero_anonimo);
$anonimos count($fichero_anonimo);
echo 
$anonimos ;
?>
<br>
Registrados: 
<?
$registrados 
$totaluser-$anonimos;
echo 
$registrados ;
?>
  #2 (permalink)  
Antiguo 16/08/2010, 09:03
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 9 meses
Puntos: 81
Respuesta: Fatal error: Allowed memory..

Tienes que sumar el archivo online.txt tambien... de todas maneras este error tambien se arroja cuando el script se queda en un while sobre una variable... en este caso agregale un echo $users[] en donde estas llenandolo para ver que pasa.

Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!

Etiquetas: fatal
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:09.