Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] ¿Cómo ejecutar una función de un PHP externo tal como se hace con un JS externo?

Estas en el tema de ¿Cómo ejecutar una función de un PHP externo tal como se hace con un JS externo? en el foro de PHP en Foros del Web. Buen día. Espero puedan ayudarme con la sig bronca. En un servidor "A" tengo un archivo PHP que contiene una serie de funciones. En un ...
  #1 (permalink)  
Antiguo 29/10/2013, 13:03
Avatar de berkeleyPunk  
Fecha de Ingreso: febrero-2013
Ubicación: México :C
Mensajes: 565
Antigüedad: 11 años, 2 meses
Puntos: 22
Sonrisa ¿Cómo ejecutar una función de un PHP externo tal como se hace con un JS externo?

Buen día.

Espero puedan ayudarme con la sig bronca.

En un servidor "A" tengo un archivo PHP que contiene una serie de funciones.
En un servidor "B" tengo, digamos, un documento PHP que necesita las funciones contenidas en el archivo PHP del servidor "A".

¿Puedo hacer eso? Es decir, ¿puedo llamar el archivo PHP del servidor "A", digamos con un include() o require(), desde el servidor "B" y así ejecutar una de sus funciones, tal y como se haría con un archivo Javascript externo?

Ya lo intenté con include() y require() pero me sale el sig error:
Código Warning:
Ver original
  1. Warning: include(): http:// wrapper is disabled in the server configuration by allow_url_include=0 in /home/u402855786/public_html/images/paginas/prueba_2.php on line 11
  2.  
  3. Warning: include(http://perfilgratuito.hol.es/images/paginas/x.php): failed to open stream: no suitable wrapper could be found in /home/u402855786/public_html/images/paginas/prueba_2.php on line 11
  4.  
  5. Warning: include(): Failed opening 'http://perfilgratuito.hol.es/images/paginas/x.php' for inclusion (include_path='.:/usr/lib/php') in /home/u402855786/public_html/images/paginas/prueba_2.php on line 11

Por lo que dice ese Warning, entiendo que debo habilitar el "wrapper" en la configuración del servidor "B" (o "A", quién sabe!). Si esto es todo el problema, ¿cómo le hago?

Saludos cordiales.
  #2 (permalink)  
Antiguo 29/10/2013, 13:19
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: ¿Cómo ejecutar una función de un PHP externo tal como se hace con un JS ex

wrapper es envoltorio, favor de utilizar un traductor.

lo que te indica es que necesitas activar el envoltorio de allow_url_include, que es un patrón de diseño implementado en esa ocasión para envolver una petición via socket a servidores externos para obtener el archivo.

de igual forma no te va a funcionar, porque la respuesta del otro servidor será el resultado HTML, no el código PHP, por lo que tendrías que implementar web services o un FTP para obtener el código PHP del otro servidor para hacer el include de las funciones.
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 29/10/2013, 17:50
Avatar de berkeleyPunk  
Fecha de Ingreso: febrero-2013
Ubicación: México :C
Mensajes: 565
Antigüedad: 11 años, 2 meses
Puntos: 22
Respuesta: ¿Cómo ejecutar una función de un PHP externo tal como se hace con un JS ex

Cita:
Iniciado por maycolalvarez Ver Mensaje
...tendrías que implementar web services o un FTP para obtener el código PHP del otro servidor para hacer el include de las funciones.
Gracias por responder maestro maycolalvarez.

La cosa, más exacta, era la siguiente:
Por ejemplo, digamos que necesitamos que un tercero pueda llamar las funciones de uno de nuestros archivos PHP (como se hace con un archivo JS), pero NO queremos que vea, y menos que edite nuestro código fuente. Sólo que pueda llamar las funciones, eso es todo (me aventuro a preguntar esto, cuando parece que tal cosa no se puede, creo, por eso de que PHP es un lenguaje del lado del servidor, no estoy seguro).

No sé qué sea eso de web services, voy a investigar (igual y me puedes dirigir un poco más, porque la expresión web services suena sin duda a algo muy general). Acerca de lo del FTP, pues creo que no serviría a mi propósito, pues, como decía, igual y no queremos que el código fuente esté a disposición de un tercero.

Gracias y saludos.
  #4 (permalink)  
Antiguo 30/10/2013, 08:37
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: ¿Cómo ejecutar una función de un PHP externo tal como se hace con un JS ex

evidentemente no se puede, sé que lo comparas con JS, pero no es igual, porque en el caso de JS al hacer lo que dices te traes el aerchivo JS íntegro, es decir, el navegador necesita el código, de otra manera no lo puede ejecutar y llamar.

en el caso de PHP tenemos como primera barrera el servidor: al ser php un lenguaje de script, su propósito es parsear y ejecutar el código solicitado por el web server, por lo que cualquier petición por medio de éste retornará un HTML, así sea vacio cuando el archivo php es una clase por ejemplo, que no devuelva nada al stdout.

es por este motivo que es inútil hacer un include remoto a un archivo PHP en otro server, porque aún activada el allow_url_include lo que obtendrá como respuesta, es la misma respuesta que obtendría un navegador: el código html resultante

en cambio un web service es básicamente un mecanismo por medio del cual se usa un protocolo para enviar peticiones de datos entre servidores, sin que éstos revelen su código, simplemente piden datos estructurados según su protocolo, que es lo que seguramente cubre tu requerimiento.
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #5 (permalink)  
Antiguo 25/12/2013, 18:15
Avatar de berkeleyPunk  
Fecha de Ingreso: febrero-2013
Ubicación: México :C
Mensajes: 565
Antigüedad: 11 años, 2 meses
Puntos: 22
De acuerdo Respuesta: ¿Cómo ejecutar una función de un PHP externo tal como se hace con un JS ex

Cita:
Iniciado por maycolalvarez Ver Mensaje
...en cambio un web service es básicamente un mecanismo por medio del cual se usa un protocolo para enviar peticiones de datos entre servidores, sin que éstos revelen su código, simplemente piden datos estructurados según su protocolo, que es lo que seguramente cubre tu requerimiento.

Perdón por la tardanza maestro maycolalvarez.

Recientemente, buscando un manual de C# en la biblioteca, me encontré casualmente con un manual de WebServices. Y recordé que yo había abierto un post en que alguien me había recomendado buscar la solución a un problema acudiendo a los webservices. Tomé el libro, lo hojee y, evidentemente, como era algo totalmente nuevo para mí, me perdí y no supe en qué página abrir el libro para lo que tú me recomiendas.

Voy a tomarme un tiempo para buscar en ese libro algo que me lleve a peticiones de datos.

Saludos.

Etiquetas: Ninguno
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 20:55.