Foros del Web » Programando para Internet » PHP »

No me aparece el error Redeclared Function

Estas en el tema de No me aparece el error Redeclared Function en el foro de PHP en Foros del Web. Hola, Que yo sepa, si incluyes un php con funciones y más adelante vuelves a declarar una función con el mismo nombre debe dar el ...
  #1 (permalink)  
Antiguo 23/08/2016, 06:42
 
Fecha de Ingreso: octubre-2008
Ubicación: Alicante
Mensajes: 337
Antigüedad: 15 años, 6 meses
Puntos: 9
No me aparece el error Redeclared Function

Hola,

Que yo sepa, si incluyes un php con funciones y más adelante vuelves a declarar una función con el mismo nombre debe dar el error:
Fatal Error, Redeclared Function...

Hago pruebas en local y me da correctamente el Fatal Error, pero en el servidor donde tengo subida la web, no da el error. La versión de php es la 5.3.3, y ya no sé que hacer para que aparezca dicho error.

Lo he hecho con require, require_once, include, include_once... y nada, no sale el dichoso error.

¿Alguien sabe si eso es posible configurarlo en PHP o en el servidor?
  #2 (permalink)  
Antiguo 23/08/2016, 06:45
 
Fecha de Ingreso: febrero-2016
Mensajes: 36
Antigüedad: 8 años, 2 meses
Puntos: 2
Respuesta: No me aparece el error Redeclared Function

No te da el error, o te refieres a que no te lo muestra por pantalla?
  #3 (permalink)  
Antiguo 23/08/2016, 06:53
 
Fecha de Ingreso: octubre-2008
Ubicación: Alicante
Mensajes: 337
Antigüedad: 15 años, 6 meses
Puntos: 9
Respuesta: No me aparece el error Redeclared Function

Debe salir este error:
Código PHP:
Fatal errorCannot redeclare nombreFuncion() (previously declared in C:Users....noname1.php:4in C:Users....noname2.php on line 28 
En local me lanza el error (versión php 5.4). Ya no sé si es por tema de versiones aunque lo dudo.
  #4 (permalink)  
Antiguo 23/08/2016, 06:54
 
Fecha de Ingreso: febrero-2016
Mensajes: 36
Antigüedad: 8 años, 2 meses
Puntos: 2
Respuesta: No me aparece el error Redeclared Function

Te refieres a esto:

; Quick Reference ;
;;;;;;;;;;;;;;;;;;;
; The following are all the settings which are different in either the production
; or development versions of the INIs with respect to PHP's default behavior.
; Please see the actual settings later in the document for more details as to why
; we recommend these changes in PHP's behavior.

; display_errors
; Default Value: On
; Development Value: On
; Production Value: Off

; display_startup_errors
; Default Value: Off
; Development Value: On
; Production Value: Off

; error_reporting
; Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
; Development Value: E_ALL
; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT

; html_errors
; Default Value: On
; Development Value: On
; Production value: On

; log_errors
; Default Value: Off
; Development Value: On
; Production Value: On
  #5 (permalink)  
Antiguo 23/08/2016, 06:56
 
Fecha de Ingreso: febrero-2016
Mensajes: 36
Antigüedad: 8 años, 2 meses
Puntos: 2
Respuesta: No me aparece el error Redeclared Function

Normalmente en producción no se suelen mostrar errores para no dar pistas del servidor ni referencias al código.
  #6 (permalink)  
Antiguo 23/08/2016, 06:58
 
Fecha de Ingreso: octubre-2008
Ubicación: Alicante
Mensajes: 337
Antigüedad: 15 años, 6 meses
Puntos: 9
Respuesta: No me aparece el error Redeclared Function

He puesto error_reporting E_ALL y tampoco me sale ese error. La cuestión no es que no muestre el error, la cuestión es que no da error.

Yo necesito que los de y ya de paso que los muestre
  #7 (permalink)  
Antiguo 23/08/2016, 07:03
 
Fecha de Ingreso: febrero-2016
Mensajes: 36
Antigüedad: 8 años, 2 meses
Puntos: 2
Respuesta: No me aparece el error Redeclared Function

Defines dos veces la misma función y no te da error?
Que raro...
  #8 (permalink)  
Antiguo 23/08/2016, 10:12
 
Fecha de Ingreso: octubre-2010
Ubicación: España
Mensajes: 1.007
Antigüedad: 13 años, 6 meses
Puntos: 123
Respuesta: No me aparece el error Redeclared Function

Con:

include_once
require_once

No debe de haber ningún conflicto ya que si un archivo es añadido varias veces con una de las 2, sólo tomará en cuenta la primera inclusión ignorando el resto.

Ahora con:
include
require

Sí que habrá conflicto.

No obstante en el manual podemos encontrar esto, que aclara un poco, aunque no del todo, el comportamiento que tienes:

Cita:
Si hay funciones definidas en el archivo incluido, se pueden utilizar en el archivo principal independientemente que hayan return antes o después. Si el archivo se incluye dos veces, PHP 5 arrojará un error fatal ya que las funciones ya han sido declaradas, mientras que PHP 4 no se queja acerca de las funciones definidas después de un return. Se recomienda el uso de include_once en lugar de comprobar si el archivo ya estaba incluido y hacer el retorno de forma condicionada dentro del archivo incluido.
Resumiendo en php 4 le da igual.


Si puedes mostrar exactamente el código de como lo estas haciendo, quizás podamos indagar más en que esta sucediendo.
__________________
Unset($vida['malRollo']);

Última edición por xerifandtomas; 23/08/2016 a las 12:23

Etiquetas: function
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 19:03.