Zum Inhalt springen

Errores de TYPO3: consejos para solucionarlos

Problema habitual: se han realizado cambios y, de repente, un proyecto TYPO3 deja de funcionar. A continuación, se ofrecen algunos consejos sobre cómo proceder para localizar el error.

Conectar la indicación de error

En el frontend sólo aparece una página en blanco o en el backend una parte de la pantalla simplemente permanece en blanco: esto suele deberse a un error de PHP.

Como la salida de mensajes de error está suprimida en la mayoría de las configuraciones, primero debe activar la visualización de mensajes de error. Para ello, establezca el parámetro displayErrors en la herramienta de instalación en "Todas las configuraciones" a "-1" (en versiones anteriores de TYPO3 "2"). Además, debe introducir su propia dirección IP en el parámetro devIPmask para que se muestren los errores (si el parámetro displayErrors se establece en '1', los errores se muestran independientemente de la dirección IP).

En lugar de en la herramienta de instalación, los parámetros también pueden ser editados o insertados directamente en el archivo localconf.php (para TYPO3 <= 4.7) o LocalConfiguration.php (para TYPO3 >= 6.0):

$TYPO3_CONF_VARS['SYS']['displayErrors'] = '-1'; 
$TYPO3_CONF_VARS['SYS']['devIPmask'] = 'Su dirección IP';

En la mayoría de los casos, el mensaje de error proporciona información sobre la extensión o área de TYPO3 en la que se produce el error. Puede ser muy útil introducir el mensaje de error en Google...

Errores durante el procesamiento de imágenes

Los problemas con la visualización de imágenes en el sitio web o las imágenes de vista previa en el backend suelen deberse a ajustes incorrectos u obsoletos en la herramienta de instalación.

Las imágenes pueden editarse sin problemas utilizando los siguientes ajustes:

Parámetro Configuración Significado
im_path /usr/bin/ Ruta en la que se encuentra ImageMagik
im_path_lzt [sin entrada] obsoleto, ruta a convertir si se realiza compresión LZW
im_version_5 gm Versión de ImageMagic
imagefile_ext gif,jpg,jpeg,tif,bmp,pcx,tga,png,pdf,ai Formatos de archivo que TYPO3 debe manejar como formatos gráficos
TTFdpi 96 Valor de dpi para TrueType
gdlib_2 1 Activar opción para GDlib 2.0.1+
im_noScaleUp 1 Impedir el aumento de escala de las imágenes
enable_typo3temp_db_tracking 1 Registra la creación de datos temporales para evitar procesos de renderizado duplicados
png_truecolor 1 Los archivos PNG se renderizan como imágenes TrueColour

Todos los ajustes del archivo localconf.php se resumen aquí de nuevo. Si es necesario, inserte el texto al final del archivo (pero antes de la última línea con '?>'):



$TYPO3_CONF_VARS['GFX']['TTFdpi'] = '96'; $TYPO3_CONF_VARS['GFX']['gdlib_2'] = '1'; $TYPO3_CONF_VARS['GFX']['noIconProc'] = '0';
$TYPO3_CONF_VARS['GFX']['imagefile_ext'] = 'gif,jpg,jpeg,tif,bmp,pcx,tga,png,pdf,ai';


$TYPO3_CONF_VARS['GFX']['im_noScaleUp'] = '1'; $TYPO3_CONF_VARS['GFX']['enable_typo3temp_db_tracking'] = '1'; $TYPO3_CONF_VARS['GFX']['im_path'] = '/usr/bin/';


$TYPO3_CONF_VARS['GFX']['imagefile_ext'] = 'gif,jpg,jpeg,tif,bmp,pcx,tga,png,pdf,ai'; $TYPO3_CONF_VARS['GFX']['im_noScaleUp'] = '1'; $TYPO3_CONF_VARS['GFX']['png_truecolor'] = '1';



$TYPO3_CONF_VARS['GFX']['im_path_lzw'] = '/usr/bin/'; $TYPO3_CONF_VARS['GFX']['gif_compress'] = '1'; $TYPO3_CONF_VARS['GFX']['im_version_5'] = 'gm'; $TYPO3_CONF_VARS['SYS']['systemLocale'] = 'de_DE';

mysql_fetch_assoc: argumento suministrado...

Uno de los mensajes de error más comunes es el siguiente


Advertencia: mysql_fetch_assoc(): el argumento suministrado no es un recurso de resultado MySQL válido en ...\t3lib\class.t3lib_db.php en la línea ...

Independientemente del error, siempre se muestra la misma línea de programa como origen del error. Esto se debe al hecho de que en TYPO3 todos los accesos a la base de datos se ejecutan a través de una función intermedia (capa de abstracción) - y aquí es donde el mensaje de error viene.

Para averiguar qué consulta de base de datos ha fallado, active la función SQLdebug a través de la herramienta de instalación. Aparecerá un mensaje de error detallado que incluye el comando SQL desencadenante.

Error tras la instalación de la extensión

Quiere probar una nueva extensión, pero tras la instalación el sitio web deja de funcionar. El intento de acceder al backend para desinstalar la extensión tampoco funciona.

Este problema ocurre a menudo si la extensión depende de otras extensiones que no están instaladas (Fatal Error: Extension ... was not loaded). O la extensión no es compatible con la versión de TYPO3 o PHP utilizada.

La única solución en este caso es desinstalar manualmente la extensión.

A partir de TYPO3 CMS 8.7

Desde TYPO3 6.2 las extensiones se gestionan en el archivo typo3conf/PackageStates.php. Busque la clave de la extensión en este archivo y elimine las 3 líneas de la extensión. A continuación, elimine la extensión del directorio /ext y vacíe el directorio typo3temp/.

A partir de TYPO3 CMS 6.2

A partir de TYPO3 6.2, las extensiones se gestionan en el archivo typo3conf/PackageStates.php. Busque aquí la clave de la extensión y cambie el estado a inactivo. A continuación, vacíe el directorio typo3temp/Cache/.

Desde TYPO3 CMS 6.0

Aquí se debe editar el archivo typo3conf/LocalConfiguration.php. Busque el área 'extListArray' => array(...) y elimine la línea con el nombre de la extensión dentro de este array y guarde el archivo. A continuación, puede vaciar el directorio typo3temp/Cache/ .

Hasta TYPO3 CMS 4.7.x

Para ello, edite el archivo typo3conf/localconf.php a través de FTP o acceso SSH. Busque la entrada $TYPO3_CONF_VARS['EXT']['extList'] y elimine la entrada con el nombre de la extensión al final de la lista. Después de guardar, elimine los archivos temp_CACHED... en el mismo directorio. El sitio web y el inicio de sesión deberían funcionar de nuevo.

Error en el Gestor de extensiones

Al llamar al Extension Manager, aparece el siguiente mensaje de error (aquí sólo un extracto)


Fatal error: Uncaught exception 'ReflectionException' with message 'Property TYPO3\CMS\Extensionmanager\Service\ExtensionManagementService::$listUtility does not exist' in...

El problema puede ser resuelto mediante la eliminación de la caché del sistema, para ello tienes que cambiar la línea en la configuración de usuario del usuario respectivo en TSConfig

options.clearCache.system = 1 

en la configuración de usuario del usuario respectivo en TSConfig, entonces la caché del sistema todavía está disponible en el flash de caché.

Error en el código TypoScript

Los errores también pueden colarse fácilmente en TypoScript: un paréntesis de más o de menos o una letra transpuesta y la página deja de funcionar o una función que estaba realmente configurada de repente deja de estar disponible.

Aquí tiene sentido utilizar el navegador de objetos de TypoScript, ya que entonces aparecen los mensajes de error. El número de línea del error se muestra con los mensajes individuales. El analizador de TypoScript puede utilizarse para encontrar rápidamente la ubicación del error haciendo clic en los módulos individuales.

Los enlaces a imágenes o archivos no se guardan

Problema: En la opción de enlazar imágenes o medios, no se puede activar la casilla de verificación y el enlace introducido desaparece después de guardar.

Solución: Se debe añadir la siguiente línea al archivo localconf.php (también se puede realizar el ajuste con la herramienta de instalación en 'Toda la configuración'):

$TYPO3_CONF_VARS['SYS']['doNotCheckReferer'] = '1';

Los enlaces a imágenes o archivos aparecen con la etiqueta

Problema: Al vincular un archivo en el RTE, la etiqueta <media ...> aparece alrededor de la palabra vinculada después de guardarla. El problema sólo se produce cuando se utiliza la extensión DAM.

Solución: Al cargar las extensiones, la secuencia es importante. Asegúrese de que la extensión rtehtmlarea se carga antes que la extensión DAM en la entrada [extList] del archivo localconf.php.

RTE no está cargado

Si el Editor de texto enriquecido (extensión rtehtmlarea) no está cargado, a menudo ayuda ejecutar la función "Restablecer configuración y borrar datos temporales" en el menú Usuarios ' Herramientas.

No se muestran las miniaturas de imágenes con diéresis

Si las imágenes con diéresis en el nombre de archivo no se muestran en el backend, debe realizarse el siguiente ajuste en la herramienta de instalación:

$TYPO3_CONF_VARS['SYS']['systemLocale'] = 'de_DE.utf-8';

TYPO3 7: no es posible llamar al backend

Si sólo es posible llamar al backend en TYPO3 7 especificando el index.php (es decir: dominio.de/typo3/index.php), ayuda añadir la siguiente línea al archivo .htaccess en el directorio del proyecto:

RewriteCond %{REQUEST_FILENAME} !-d

El registro ya no se puede llamar - Bytes de error agotados

Si aparece el siguiente mensaje de error en Herramientas de administración en la opción de menú Registro:

Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 22471174 bytes) in /server_pfad_des_kunden/typo3/template.php

o el error 500, entonces el número (límite) de valores a mostrar y el tiempo se han establecido en infinito (sin límite) en log y las entradas en el sys_log son demasiadas.
Hay dos soluciones para resolver este problema:

  • En Herramientas de usuario, haga clic en el botón "Borrar datos temporales".
  • En Herramientas de administración ' Usuarios ' cree un nuevo usuario backend y elimine el antiguo.

ADONewConnection: No se ha podido cargar el controlador de la base de datos

Este mensaje aparece si las extensiones adodb y dbal han sido instaladas pero no configuradas. La extensión dbal - excepto en casos especiales - no es necesaria en nuestros paquetes de alojamiento, ya que trabajamos con bases de datos MySQL. La extensión dbal se utiliza principalmente para utilizar otros sistemas de bases de datos (por ejemplo, Oracle).

Solución: No es posible acceder al backend, por lo que la entrada dbal y adodb deben eliminarse manualmente del parámetro "extList" en el archivo typo3conf/localconf.php. Posteriormente, los archivos temp_CACHED... del directorio typo3conf.

La ruta absoluta calculada para el directorio tslib no existe.

Mensaje de error:

La ruta absoluta calculada al directorio tslib no existe. 

Algo en la estructura principal de archivos, carpetas y enlaces está mal y debe arreglarse. Una raíz de documento típica contiene un par de enlaces simbólicos:
* Un enlace simbólico "typo3_src" que apunta al núcleo de TYPO3 CMS.

* Un enlace simbólico "typo" - el punto de entrada del backend - que apunta a "typo3_src/typo3" * Un enlace simbólico "index.php" - el punto de entrada del frontend - que apunta a "typo3_src/index.php".

Este mensaje de error puede aparecer, por ejemplo, al intentar actualizar a una versión más reciente de TYPO3.

Solución: En la administración de dominios del menú de cliente, cambie la edición PHP utilizada para el dominio afectado a "EXTENDED". Esto desactiva la caché PHP OPCode activa en el ajuste "FASTCGI". Una vez finalizado el trabajo en el sitio web, puede volver a cambiar a "FASTCGI", ya que el rendimiento del sitio web es mucho mejor en este caso.

Extension Manager no está cargado - Advertencia: Uncaught TYPO3\PharStreamWrapper\Exception

Mensaje de error:

TYPO3 versión > 8.7.16 el Extension Manager ya no se carga y el siguiente mensaje de error (extracto) se muestra en el backend:

Advertencia: Uncaught TYPO3\PharStreamWrapper\Exception: 
Executing phar:///your_serverpath/your_project_directory/typo3conf/ext/typo3_console/Resources/Private/ExtensionArtifacts/../../../Libraries/symfony-process.phar/vendor/autoload.php is denied ... etc.
Fatal error: 
TYPO3\CMS\Core\Cache\Backend\SimpleFileBackend::{closure}(): 
Failed opening required 'phar:///your_serverpath/your_project_directory/typo3conf/ext/typo3_console/Resources/Private/ExtensionArtifacts/../../../Libraries/symfony-process.phar/vendor/autoload.php' (include_path='.:/usr/local/lib/php') 

La ejecución de archivos *.phar no es posible por motivos de seguridad y aparece el mensaje de error mencionado anteriormente, que puede variar en función de la extensión.

Solución: En este caso, hay que actualizar la extensión "typo3_console". Para ello, añada las líneas en PackageStates.php

'typo3_console' => [
            'packagePath' => 'typo3conf/ext/typo3console/',
],

eliminar, guardar, vaciar la caché y actualizar a través del Gestor de extensiones.

Por cierto...

En el 98% de los casos en los que la respuesta inicial es "no he cambiado nada", más tarde resulta que sí se han realizado modificaciones. TYPO3 lo registra con todo detalle en el diario del sistema...

El contenido de esta página se ha traducido automáticamente.

Aktualisiert: 17.07.2024