Foros del Web » Administración de Sistemas » IIS »

Call to undefined function

Estas en el tema de Call to undefined function en el foro de IIS en Foros del Web. Tengo una página index.php que carga mediante un include_once otra página que está en otro servidor vía IP, y la carga correctamente porque en esa ...
  #1 (permalink)  
Antiguo 10/11/2010, 06:26
Avatar de codify  
Fecha de Ingreso: febrero-2002
Ubicación: Barcelona (España)
Mensajes: 183
Antigüedad: 22 años, 2 meses
Puntos: 1
Call to undefined function

Tengo una página index.php que carga mediante un include_once otra página que está en otro servidor vía IP, y la carga correctamente porque en esa página le he puesto un echo y me lo muestra.
En index hago una llamada a prueba(), en la otra está definida "function prueba() {...} pero al iniciar el navegador en index.php me dice "Call to undefined function"

Se que este error se genera cuando la segunda página no encuentra la definición de prueba(), o sea, "function prueba()"...pero esa definición está y la página la encuentra (porque muestra el echo)...

...alguien me puede indicar porque puede ser debido?...alguien me puede dar alguna solución???...

...gracias por adelantado!...
__________________
====================
Codify
====================
  #2 (permalink)  
Antiguo 10/11/2010, 06:33
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Call to undefined function

Porque no es posible incluir una página de otro servidor usando include por cuestiones de seguridad.

Edito/Corrijo (para evitar malos entendidos):
No es posible incluir las funciones de PHP que están en otro servidor por cuestiones de seguridad.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos

Última edición por abimaelrc; 10/11/2010 a las 06:39
  #3 (permalink)  
Antiguo 10/11/2010, 06:48
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Call to undefined function

Es porque lo que se incluye no es el código fuente, sino el resultado. El servidor procesa el PHP antes de enviar la respuesta, deberías cambiar la extensión.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #4 (permalink)  
Antiguo 10/11/2010, 07:56
Avatar de codify  
Fecha de Ingreso: febrero-2002
Ubicación: Barcelona (España)
Mensajes: 183
Antigüedad: 22 años, 2 meses
Puntos: 1
Respuesta: Call to undefined function

Pero cuando hice las pruebas en local la página que definía la función también se cargaba antes (vía include) que el resto de la página (junto con la función prueba) y funcionaba perfectamente...
...lo único que ha cambiado es que ahora la carpeta donde está la definición de todas las funciones está en otro servidor...
__________________
====================
Codify
====================
  #5 (permalink)  
Antiguo 10/11/2010, 08:23
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Call to undefined function

Por eso, todo lo definiste al principio estaba en el mismo servidor, por eso funcionaba. Al estar en otro servidor ya no es así, por cuestiones de seguridad. Imagina que se pudiera, entonces las funciones que tiene este foro las podría usar.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #6 (permalink)  
Antiguo 10/11/2010, 08:39
Avatar de codify  
Fecha de Ingreso: febrero-2002
Ubicación: Barcelona (España)
Mensajes: 183
Antigüedad: 22 años, 2 meses
Puntos: 1
Respuesta: Call to undefined function

Tienes toda la razón, es lógico por cuestiones de seguridad, entonces...

...que solución le puedo dar a este problema?

P.D: No es viable coger los archivos que definen las funciones y pasarlos al servidor donde están llamadas dichas funciones.

...se puede hacer algo???
__________________
====================
Codify
====================
  #7 (permalink)  
Antiguo 10/11/2010, 08:44
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Call to undefined function

Crear tu propio "web service" o colocar los archivos en el servidor que vayas a usar.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #8 (permalink)  
Antiguo 10/11/2010, 09:15
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Call to undefined function

Cita:
Iniciado por abimaelrc Ver Mensaje
Por eso, todo lo definiste al principio estaba en el mismo servidor, por eso funcionaba. Al estar en otro servidor ya no es así, por cuestiones de seguridad. Imagina que se pudiera, entonces las funciones que tiene este foro las podría usar.
De poder, se puede (depende de la configuración). Pero habría que cambiar la extensión al archivo o configurar el servidor para que no procese el código PHP al recibir la petición sino que lo envíe tal cual.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #9 (permalink)  
Antiguo 10/11/2010, 09:38
Avatar de codify  
Fecha de Ingreso: febrero-2002
Ubicación: Barcelona (España)
Mensajes: 183
Antigüedad: 22 años, 2 meses
Puntos: 1
Respuesta: Call to undefined function

Lo de configurar el servidor me interesa, como se tendría que configurar???

Trabajo para una empresa la cual tiene un cliente que me ha exigido unas pautas y una de las cuales es montar su web de esta forma: 2 servidores y un tercero con la BBDD que, aún siendo php la BBDD debe ser SQL Server...vamos, una jodienda...

...por eso no puedo aceptar propuestas de unificarlo todo en un servidor...ojalá!...pero no puedo.
__________________
====================
Codify
====================
  #10 (permalink)  
Antiguo 10/11/2010, 10:02
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Call to undefined function

Cita:
Iniciado por David Ver Mensaje
De poder, se puede (depende de la configuración). Pero habría que cambiar la extensión al archivo o configurar el servidor para que no procese el código PHP al recibir la petición sino que lo envíe tal cual.
Bueno claro, de esa forma sí es posible.

En todo caso ya sería ingresar todo en un archivo de texto y usar por ejemplo eval en el otro servidor para que funcione todas las funciones que declaraste.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #11 (permalink)  
Antiguo 10/11/2010, 10:18
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Call to undefined function

No, no hace falta usar eval(); es un include normal. De otra forma no funciona por la sencilla razón de que el servidor externo procesa el código PHP y sólo envía el resultado; por lo que no se puede ya procesar como código.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #12 (permalink)  
Antiguo 10/11/2010, 10:23
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Call to undefined function

Bueno a lo que me refiero no es usando include, ya que como dices lo procesa, sino por ejemplo almacenar las funciones en un texto y con file_get_contents o cURL llamarlo, algo así
Código PHP:
Ver original
  1. <?php
  2. $str = file_get_contents('http://example.com/functions.txt');
  3. eval('?>' . $str);
Aunque, interesante, no había hecho la prueba de ingresar todo en un texto y con include llamarlo y hace lo mismo como si fuera un archivo de php.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #13 (permalink)  
Antiguo 10/11/2010, 10:24
Avatar de codify  
Fecha de Ingreso: febrero-2002
Ubicación: Barcelona (España)
Mensajes: 183
Antigüedad: 22 años, 2 meses
Puntos: 1
Respuesta: Call to undefined function

David, el tema de configurar el servidor para que no procese PHP al recibir como debería configurarse.
Te lo pregunto porque tengo muchos includes entre servidores y eso me solventaría el problema (supongo) de renombrar archivos y enrutamientos...
__________________
====================
Codify
====================
  #14 (permalink)  
Antiguo 11/11/2010, 04:41
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Call to undefined function

¿Qué servidor web usas?
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #15 (permalink)  
Antiguo 11/11/2010, 04:44
Avatar de codify  
Fecha de Ingreso: febrero-2002
Ubicación: Barcelona (España)
Mensajes: 183
Antigüedad: 22 años, 2 meses
Puntos: 1
Respuesta: Call to undefined function

Internet Information Server (IIS)
__________________
====================
Codify
====================
  #16 (permalink)  
Antiguo 11/11/2010, 22:24
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Tema movido desde PHP a IIS

Etiquetas: call, function, undefined
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 13:54.