strip_tags remove etiquetas ejemplo php class fatal-error

php - remove - strip_tags wordpress



Error fatal de PHP: no se puede redeclarar la clase (18)

¿Usaste Zend Framework? Yo también tengo el mismo problema.
Lo resolví comentando esta línea en config/application.ini :

;includePaths.library = APPLICATION_PATH "/../library"

Espero que esto ayude.

¿Alguien sabe qué puede causar este problema?

Error fatal de PHP: no se puede redeclarar la clase


A veces eso sucede debido a algunos errores en FastCGI de PHP.

Intenta reiniciarlo. En Ubuntu es:

service php-fastcgi restart


En realidad, significa que la clase ya está declarada en la página y que está intentando recrearla.

Una técnica simple es la siguiente.

Resolví el problema con lo siguiente. Espero que esto te ayude un poco.

if(!class_exists("testClassIfExist")) { require_once("testClassIfExist.php"); }


Eso sucede cuando declaras una clase más de una vez en una página. Puede solucionarlo envolviendo esa clase con una declaración if (como a continuación), o puede colocarla en un archivo separado y usar require_once() , en lugar de include() .

if (!class_exists(''TestClass'')) { // Put class TestClass here }


Esta función imprimirá una pila que le indica de dónde fue llamada:

function PrintTrace() { $trace = debug_backtrace(); echo ''<pre>''; $sb = array(); foreach($trace as $item) { if(isset($item[''file''])) { $sb[] = htmlspecialchars("$item[file]:$item[line]"); } else { $sb[] = htmlspecialchars("$item[class]:$item[function]"); } } echo implode("/n",$sb); echo ''</pre>''; }

Llame a esta función en la parte superior del archivo que incluye su clase.

A veces solo se imprimirá una vez, aunque su clase se incluya dos o más veces. Esto es porque PHP realmente analiza todas las clases de nivel superior en un archivo antes de ejecutar cualquier código y arroja el error fatal de inmediato. Para remediar esto, ajuste su declaración de clase en if(true) { ... } , lo que moverá su clase a un nivel inferior. Entonces deberías obtener tus dos rastros antes de los errores fatales de PHP.

Esto debería ayudarlo a encontrar dónde se está incluyendo su clase desde varias veces en un proyecto complejo.


Este error también puede ocurrir si define el método __construct más de una vez.


Esto sucederá si usamos cualquiera de las clases incorporadas en la biblioteca php. Usé el nombre de la clase como Directorio y obtuve el mismo error. Si obtiene el error primero, asegúrese de que el nombre de clase que utiliza no sea una de las clases incorporadas.


Me he encontrado con el mismo problema: la nueva versión de php no trata lo mismo con múltiples incluse del mismo archivo (como una biblioteca), así que ahora tengo que cambiar todo mi include por algunos include_once.

O estos trucos podrían ayudar, si tienes demasiada clase en tu biblioteca ...

if( class_exists(''TestClass'') != true ) { //your definition of TestClass }


Otro posible culpable es el control de la fuente y los conflictos no resueltos. SVN puede hacer que la misma clase aparezca dos veces en el archivo de código conflictivo; dos versiones alternativas ("mío" y "suyo").


PHP 5.3 (y creo que versiones anteriores también) parece tener problemas con el mismo nombre en diferentes casos. Así que tuve este problema cuando tuve la clase Login y la interfaz que implementa LogIn. Después de renombrar LogIn to Log_In, el problema fue resuelto.


Significa que ya has creado una clase.

Por ejemplo:

class Foo {} // some code here class Foo {}

Ese segundo Foo arrojaría el error.


Solo agregando;

Este error también puede ocurrir si, por error, pone una función dentro de otra función.


Solo haga una cosa cada vez que incluya o requiera un nombre de archivo, es decir class.login.php. Puede incluirlo de esta manera:

include_once class.login.php or require_once class.login.php

De esta forma, nunca arroja un error.


Tienes una clase del mismo nombre declarada más de una vez. Tal vez a través de múltiples incluye. Al incluir otros archivos, debe usar algo como

include_once "something.php";

para evitar inclusiones múltiples. Es muy fácil que esto suceda, aunque no siempre es obvio, ya que podría tener una larga cadena de archivos incluidos entre sí.


Tuve el mismo problema "PHP Fatal error: Can redeclare class XYZ.php".

Tengo dos directorios como controller y model y cargué erróneamente XYZ.php en ambos directorios (por lo que el archivo con el mismo nombre causa el problema).

Primera solución:

Encuentra en todo tu proyecto y asegúrate de tener solo una clase XYZ.php.

Segunda solución:

Agregue un espacio de nombres en su clase para que pueda usar el mismo nombre de clase.


Tuve el mismo problema al usar autoload siguiente manera:

<?php function __autoload($class_name) { include $class_name . ''.php''; } __autoload("MyClass1"); $obj = new MyClass1(); ?>

y en otra clase había:

namespace testClassNamespace; class MyClass1 { function __construct() { echo "MyClass1 constructor"; } }

La solución es mantener la compatibilidad del espacio de nombres, en mi namespace testClassNamespace; ejemplo namespace testClassNamespace; en ambos archivos.


Use include_once(); - con esto, sus códigos se incluirán solo una vez.


me he encontrado con el mismo problema descubrió que el caso era el nombre de la clase. Lo solucioné cambiando el nombre. por lo tanto, resolver el problema.