Error class_core.php al mover adjuntos a bbdd

zukar Seguir

Beta
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
5 Abr 2010
Mensajes
33
Buenas!

He leido este hilo y todos los pasos bien pero cuándo inicia el proceso de mover los adjuntos de la BBDD hacia el server muestra el siguiente error:

Archivo Adjunto : 4908
Archivo Adjunto : 4910
Archivo Adjunto : 4913
Archivo Adjunto : 4916

Fatal error: Allowed memory size of 16777216 bytes exhausted (tried to allocate 4162917 bytes) in /hermes/web06/b673/pow.crackdigital/htdocs/foro/includes/class_core.php on line 2298

Pensaba que era porque tenía muchos adjuntos, así que los he vaciado y después también me he ido a la base de datos y he vaciado la base de datos de attachments, attachmentviews y attachmentcategoryuser ... el resto no las he tocado ... He reindexado desde el panel las tablas relacionadas con attachment y continuo con el mismo error.

He mirado el fichero class_core.php y no veo dónde está el problema

Insertar CODE, HTML o PHP:
  switch ($type)
  {
   case TYPE_INT:    $data = intval($data);                                   break;
   case TYPE_UINT:   $data = ($data = intval($data)) < 0 ? 0 : $data;         break;
   case TYPE_NUM:    $data = strval($data) + 0;                               break;
   case TYPE_UNUM:   $data = strval($data) + 0;
         $data = ($data < 0) ? 0 : $data;                         break;
[U][COLOR=darkred][B] case TYPE_BINARY: $data = strval($data);                                   break;[/B][/COLOR][/U]
   case TYPE_STR:    $data = trim(strval($data));                             break;
   case TYPE_NOTRIM: $data = strval($data);                                   break;
   case TYPE_NOHTML: $data = htmlspecialchars_uni(trim(strval($data)));       break;
   case TYPE_BOOL:   $data = in_array(strtolower($data), $booltypes) ? 1 : 0; break;
   case TYPE_ARRAY:  $data = (is_array($data)) ? $data : array();             break;
   case TYPE_NOHTMLCOND:
   {

dibujozz.png


Y al dar el error, no finaliza el proceso de traspasar los adjuntos de la base de datos al directorio del server.

Gracias por la posible ayuda

p.d.: Estoy pendiente de solucionar esto y así subir a la versión 4.0.3
 

Sihaya

Delta
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
16 Ene 2010
Mensajes
684
En este post explican eso también entre otras cosas: Enlace eliminado yo lo hice como dicen en este y me funcionó sin problema, revisa si es exactamente lo mismo que hiciste tú :)
 

zukar

Beta
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
5 Abr 2010
Mensajes
33
Gracias Sihaya ...

Todo ese proceso ya lo hice hace unas semanas ...

incluido este:

4. Mover Adjuntos al Sistema de Archivos

Por default vbulletin almacena los adjuntos en la base de datos. Adjuntos grandes o muy visitados pueden hacer que la base de datos se sobrecargue...

Para moverlos al sistema de archivos creá un directorio de adjuntos sobre tu directorio public_html (en el mismo nivel que: /root/username/public_html | root/username/attachments) y ponelo en CHMod 777.

Creandolo en ese nivel prevenimos que nadie pueda acceder a los adjuntos por fuera del vbulletin.

Después anda al AdminCP y expandi el menu de adjuntos.
Click en Attachment Storage Type.
Move los adjuntos fuera de la base de datos al sistema de archivos.

Ruta de adjuntos: /home/*username*/attachments

El tema es que cuándo inicia el proceso para mover los adjuntos ... no finaliza. Da el error que comento más arriba.

Gracias por las futuras respuestas.
 

Andrés Durán

Xi
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
23 Abr 2009
Mensajes
4.371
Hola zukar.

Fatal error: Allowed memory size of 16777216 bytes exhausted (tried to allocate 4162917 bytes) in /hermes/web06/b673/pow.crackdigital/htdocs/foro/includes/class_core.php on line 2298

Ese error se da porque se ha agotado la cantidad de memoria de ejecución de scripts vía PHP; para tu caso, ésto puede pasar porque vBulletin podría estar procesando un archivo adjunto muy pesado. Por favor trata de resolverlo realizando los siguientes ajustes:

* Edita el archivo config.php y coloca esto, justo debajo de <?php:

Insertar CODE, HTML o PHP:
ini_set('memory_limit', 64 * 1024 * 1024);

* Si eso no resuelve tu problema, haz la misma modificación, pero al archivo /admincp/attachments.php

* Si eso no resuelve tu problema, deberás contactar a tus proveedores de hosting para que ellos aumenten el valor de la directiva memory_limit en el archivo php.ini.

Saludos.
 

zukar

Beta
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
5 Abr 2010
Mensajes
33
Perfecto!

He realizado lo que comentas, tanto en el config.php como en el attachments.php y todo perfecto!

Un 10!!

Gracias crack! (digital) jeje ;)
 
Arriba