V7+Apache+PHP


([N4] desarrollo) #1

Buenas tardes, tengo un proyecto en el que hay una parte desarrollada en php. me gustaría que este código fuese modificable. Por ello hemos pensado en realizar bajo v7 procesos que retornen el código php.
Hasta aquí la teoría, servidor en la nube+servidor apache+php+v7+vmodapache. Todo funciona correctamente.

El problema esta en que los retornos de los procesos los ejecuta el servidor apache y php no se entera.

¿ alguien sabe como modificar para que apache se lo pase a php y lo ejecute ??

Gracias


([N1] Pepeto) #2

El planteamiento tiene que ser distinto.
Es Apache el que debe ejecutar el PHP, y es PHP quien debe conectar con Velneo para solicitar la informacion que necesita. Normalmente, en esos casos retornamos desde Velneo un XML o JSON con todas las variables y datos necesarios, de forma que PHP pueda interpretar los datos recibidos y procesarlos.

un saludo
Jose Luis
http://www.ascsl.com


([N4] desarrollo) #3

Gracias Jose Luis, a esa conclusión he llegado, sin embargo, por flexibilidad me gustaría contemplar e intentar probar la otra solución, ya que de esta manera podríamos modificar el php generado desde cualquier equipo con vdevelop.

Saludos
Antonio


([N1] filipeagg) #4

@desarrollo.asistecsoft
Antonio, no estoy entendiendo tu planteamiento.

El codigo PHP es generado en el servidor usando el interprete de PHP, mismo que velneo lo reciba, ya no recibe php recibe html o texto plano
.
Otra cosa seria embeber codigo PHP en campos en velneo, eso si es válido, y ya lo he hecho en alguna ocasión.

O también es posible que el apache haga la petición a Velneo y sea este que mande interpretar un codigo php modificado por velneo.

Pero para que pueda ayudarte necesitaria de un poco más de información.

Un saludo,

Filipe Gomes
filipeagg@gmail.com


([N4] desarrollo) #5

La idea es la siguiente:
tenemos un servidor en la nube, en el tenemos instalado v7+vModapache, un servidor apache+PHP

Queremos que en función de los datos almacenados en v7, valore el usuario que se conecta y en función de ello devolverle una composición u otra de PHP.

Para ello queremos que bien en un proceso condicionado o bien en campos de una tabla de v7 se componga el código pertinente y con un set dato de retorno nos devuelva el código que debe interpretar PHP.

Nos funciona correctamente menos cuando el código devuelto es PHP, entendemos que vModapache devuelve el código y lo interpreta apache y no PHP. ¿?¿?

Se puede devolver desde v7 y que lo interprete PHP ?????,
en dirección contraria he visto en algún post vuestro anterior que si es viable.

Gracias de nuevo Filipe x vuestro tiempo.


([N1] filipeagg) #6

se puede hacer, pero sigo piensando que se lo montas como ha comentado @Pepeto, simplificas y mucho todo el processo.
Ejemplo:

1- El apache hace siemre la petición a PHP
2- El PHP solicita información a velneo.
3- El PHP recibe información de velneo, si necesário interpreta codigo PHP y lo evalua., hace lo que quieres, tansformaciones, etc, o simplesmente no hace nada
4- El PHP devuelve el resultado.

Se puede hacer que el PHP siempre haga una petición a Velneo, lo que quiere decir que seria siempre velneo que devuelve las paginas pero pasando por una puente, en este caso PHP.

Y el apache, de manera directa, solo puede enviar la pagina o al PHP o a Velneo. Enviar la misma pagina a los dos no es posible, y no tiene mucho sentido.

Un saludo,

Filipe Gomes
filipeagg@gmail.com


([N4] desarrollo) #7

Muy sencillo, si en un proceso retorno:
"<table>
<tr>
<td>
<?php
echo cfunciona PHP!c;
?>
</td>
</tr>
</table>"

¿ funcionará ?

Probado, lanzo index.pro y en el navegador no veo nada, sin embargo si visualizo el código fuente de la pagina veo:

<table>
<tr>
<td>
<?php
echo "funciona PHP!";
?>
</td>
</tr>
</table>


([N1] wikan) #8

Puedes probar esto, yo no puedo ya que no tengo el mod_apache.
Link

Lo había pensado hace tiempo pero nunca lo he probado.

En nuestro caso, habría que añadir .pro

La idea es que el interprete de php funcione con extenciones .pro también. Así en teoría devolviendo código de php desde Velneo, este debería ser interpretado por php también


([N1] Pepeto) #9

@desarrollo.asistecsoft

Dudo mucho que te funcione, como sabes PHP es un lenguaje que se ejecuta del lado del servidor, y si he comprendido bien, lo que quieres es retornar el codigo PHP al navegador.

Quiza lo que necesitas, es algo que se ejecute en el cliente, y para eso tienes JavaScript, aunque no se si te vale para lo que pretendes hacer.

Sigo pensando que la idea inicial es la solución, como afirma Filipe.

Ademas, no veo la logica de todo esto.

- PHP, retorna HTML (+CSS +JavaScript) al navegador
- vModApache, retorna HTML (+CSS +JavaScript) al navegador
- Y pretendes utilizar vModApache para retornar PHP, y que luego PHP retorne nuevamente HTML, ¡pues no le veo el sentido!.

un saludo
José Luis
http://www.ascsl.com


([N1] glpunzi.lordzealon) #10

@desarrollo.asistecsoft

Porque velneo está devolviendo el código como HTML, por eso ves las etiquetas php en el fuente. El código PHP es ejecutado en el servidor, pero tú no lo estás ejecutando, lo estás devolviendo, no sé si me explico.
,
No estoy muy puesto, pero lo que intentas hacer no es óptimo. La petición llega a Apache, ésta, la redirige a Velneo, Velneo genera el código PHP que devuelve al Apache, para que lo interprete con PHP, que probablemente volverá a llamar a los datos en Velneo para algo, etc....
.
Lo que devuelva Velneo será considerado HTML, por lo que en mi opinión, tienes dos opciones.
.
a) Lo haces todo con Velneo+Apache. Apache gestionará las peticiones enviándolas a Velneo, y Velneo devuelve el contenido estático.
b) Montas la web en PHP, y llamas a Velneo sólo para usarlo como BBDD y recuperar datos que luego usas desde PHP.
.
Todo lo que hagas más allá de aquí, en mi opinión, es meterte en un berenjenal de cuidado.
.
Aunque se pueda, Velneo no es precisamente la tecnología más óptima para web.


([N1] filipeagg) #11

@manuel.rd.gmail
Lo que has comentado no funcionará. Las paginas .pro pueden ser ejecutas por el PHP, pero entonces no seran ejecutadas por velneo.

@desarrollo.asistecsoft
Insisto, lo estás planteando al revés. Imagina que todas las paginas web son servidas por un solo fichero PHP (Se puede hacer usando el modrewrite de apache, o simplesmente enviando la pagina actual en un variable y llamar siempre al mismo fichero PHP).

Desde PHP llamas al proceso de velneo recibido en esa variable y recibe como retorno el codigo html:

<table>
<tr>
<td>
<?php
echo "funciona PHP!";
?>
</td>
</tr>
</table>

el php cuando recibe este código lo almacena en una variable, y después usando la función eval de PHP

http://php.net/manual/es/function.eval.php

Lo evalua retornando el html interpretado por php.
Para desde php llamar a velneo puedes usar la función file_get_contents: http://php.net/manual/es/function.file-get-contents.php

También se podria hacer lo que planteas, pero es liar la cosa sin necesidad ningnuna.

Un saludo,

Filipe Gomes
filipeagg@gmail.com


([N4] desarrollo) #12

Entendido y aclarado,
muchas gracias por vuestro apoyo.

Saqué las siguientes conclusiones:

1 si quiero que PHP interprete a velneo -> debo solicitar un vModPHP.
2 No debo hacer las cosas complejas cuando hay un camino mas sencillo.
3 PHP y V7 se entienden a través del servidor Apache.
4 La forma sencilla de trabajar es generar PHP que utilice V7 como DDBB

Repito, gracias de nuevo por vuestro apoyo


([N1] gerard) #13

Me estoy haciendo la picha un lio,

A mi tambien me interesa poder usar php dentro de velneo, pero veo que no se puede.

Mi intención es usar el session_start() de php para guardar el usuario identificado. Como hacer esto que hace PHP con velneo y modapache?

Yo estoy haciendo con procesos accesibles a web. Lo hago mal?

Hay alguna forma para guardar unas variables durante toda la sesion de usuario que navegue?

gracias