Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   PHP (https://www.clubdelphi.com/foros/forumdisplay.php?f=15)
-   -   Páginas PHP de Delphi en navegador web!! (https://www.clubdelphi.com/foros/showthread.php?t=43609)

Ismael Campos 16-05-2007 01:19:00

Páginas PHP de Delphi en navegador web!!
 
Hola, ¿qué tal a todos?, llevo tiempo programando en Delphi, pero soy novato en lo que a PHP se refiere, pero estoy muy interesado.

También soy nuevo en los foros, así que espero no romper alguna regla en cuanto a la redacción o solicitud hacia ustedes. Así que de antemano, muchas gracias.

Mi problema es el siguiente.

Cuando ejecuto desde Delphi for Php mis aplicaciones (algunos pequeños ejemplos hasta ahora) corren perfectamente, pero cuando intento ver la página directamente desde el navegador (http://localhost/ ) e intento que se realice alguna acción, me aparece el siguiente error:

Application raised an exception class Exception with message 'The Input Filter PHP extension is not setup on this PHP installation, so the contents returned by Input is *not* filtered'

Tengo instalados en mi equipo Windows(server) 2003, Apache 2.0.59, php-5.2.2 y, por supuesto, Delphi for PHP.

Ojalá me puedan ayudar y gracias otra vez.

JXJ 16-05-2007 03:56:16

¿ya colocaste la carpeta vcl, en tu directorio raiz de tus documentos
de apache, para que apache busque la libreria vcl de php4delphi?

algo asi como c:\dirapache\httdocs\vcl

y supongo tus escripts estan en

c:\dirapache\httdocs\mitest.php


Otra cosa puede ser que no tengas la misma configuracion
en tu version php apache que instala delphi4php, en los archivos ini
y de configuracion de apache. con los nombras
que tienes instalados. en tu pc

compara ambas configuraciones.

dec 16-05-2007 04:36:30

Hola,

Creo que los tiros van por otro lado JXJ. Echa un vistazo a este mensaje a ver si te sirve. Hay que usar el buscador de los Foros antes de preguntar.

JXJ 16-05-2007 07:06:40

no se . dec a mi me salio ese error y lo arregle poniendo la vcl4php

en ese hilo que pones es la vcl. antes de que fuera completamente
compatible con php5.2

Ismael Campos
pon el codigo de tus proyectos que dan ese problema
y si usas base de datos. el escript para recrearla en mi pc.-

a ver que será- ???:D

Ismael Campos 16-05-2007 07:08:54

Punden faltar la instalación de extenciones de php?
 
Gracias por sus respuestas...

Así es JXJ, ya he colocado mis archivos php en la carpeta C:\server\web (esta la determiné así desde en la configuración del Apache en el DirectoryRoot) y el contenido de la vcl en C:\server\web\vcl. Incluso del wizard del Delphi for PHP hace lo mismo, automaticamente pasa mis php a la ruta que yo de dermine y ahi mismo una copia de la vcl. Es más los componetes aparecen en pantalla, el problema es cuando, por ejemplo el clic en un botón, tenga que ejecutar alguna acción.

En cuanto al mensaje que me sugiere DEC, tambien ya lo probé, pero eso lo unicó que hace es evitar el mesaje de la excepción que se produce, pero la acción, de todas maneras, no se ejecuta.

Por lo que sigo investigando me parece que me faltan instalar algunas extensiones en PHP (creo que son la PECL), pero en eso estoy.

Gracias otra vez, sigo invetigando y disculpen si no he seguido el formato de uso del foro y el hilo. También en eso espero irme afinando.

JXJ 16-05-2007 07:15:16

ya me he quedado picado...
dices que ejecutando tus escripts desde el delphi4php
todo anda bien.

Pero al ejecutarlo , usando tu instalación. de apache y php
no funciona...

pon tus codigos y los calo.

Ismael Campos 16-05-2007 20:44:27

Ejemplo de Listbox
 
Facil, tan solo el ejemplo que viene e ..\vcl\samples\listbox provoca ese error.

Si lo ejecuto desde Delphi corre bien, pero al copiar los php al root de Apache (con todo y la carpeta vcl) y cargarlo en el Explorer de Windows como http://localhost/listboxsample.php habre la pantalla y aparecen los tres componentes, pero al dar click en el botón aparece el error.

Gracias nuevamente por el interes.

JXJ 17-05-2007 02:59:10

Cita:

Empezado por Ismael Campos
Application raised an exception class Exception with message 'The Input Filter PHP extension is not setup on this PHP installation, so the contents returned by Input is *not* filtered'

Tengo instalados en mi equipo Windows(server) 2003, Apache 2.0.59, php-5.2.2 y, por supuesto, Delphi for PHP.

Entonces es tu instalacion apache, que no es compatible, con las
llamadas hecas a php

a mi me ha pasado, y por eso, ya no instala la ultima version de apache
con la ultima version php.

ni apache ni php, en sus ultimas versiones me han resultado compatibles.
mutuamente entre ellos.

yo tengo windows xp con SP2, apache 2.0.52 y php 5.2.2

el ejemplo que nombras no me da ningun error.

http://localhost/listboxsample.php

Ismael Campos 17-05-2007 06:03:03

verificacios de versiones
 
Parece que la diferencia está entre la versión de apache y del windows que utilizamos. Empezaré por cambiar la versión de apache y hacer nuevamente las pruebas.

Gracias y contesto cuanto tenga algunos avances (o retrocesos :D ).

semptrion 17-05-2007 22:38:52

El problema
 
El problema es el Windows :D:D:D:D

Ismael Campos 17-05-2007 23:45:29

Cita:

Empezado por semptrion
El problema es el Windows :D:D:D:D

Te refieres al Windows 2003, o es broma?:confused:

semptrion 17-05-2007 23:53:23

Pandora
 
Es broma... aunque no mucho. La mayoría de los problemas está en el Windows:D

JXJ 18-05-2007 01:14:28

yo no creo que sea solo asunto de windows. si las veces que he querido instalar y usar php y apache. en sus ultimas versiones, siempre
hay problemas, o no anda ni uno ni el otro.

Pero si uso versiones viejas de apache y php, las cosas van bien.

creo que son los 3. apache y php que no se integran bien en sus
ultimas versiones, en sus versiones para windows.

para linux. alguien con linux sabra si se integran bien.
en sus ultimas versiones.

semptrion 18-05-2007 01:24:06

Claro que se integran
 
En linux, se integran una maravilla!

Puedes colocar php 3, 4 ó 5 contra un apache o un apache2

Todo está en el archivo de configuración. Me imagino que en el (pinche) windows debe ser igual.

Hay que meterle deditos a la configuración.

semptrion 18-05-2007 01:38:37

Ya hablando en serio
 
Lo que me imagino que sucede es que no ha sido instalada Input Filter Extension. Esa es una librería del PECL http://pecl.php.net/package/filter que permite filtrar los datos recibidos en un programa php.

El error no dice que el php o el apache hayan fallado. Lo que dice es que la extensión no ha sido cargada.

Lo que recomiendo que hagas es que descargues la extensión y la coloques en el path. Quizá si puedes copiar completo el mensaje de error pueda darte una mano más efectiva.

Cita:

Application raised an exception class Exception with message 'The Input Filter PHP extension is not setup on this PHP installation, so the contents returned by Input is *not* filtered'
Es más, podemos ver por el mensaje que el php está funcionando. (O como nos explicamos que se haya disparado una excepción? por favor, gente de delphi ayúdenme con esto. El mensaje es del delphi? o es de php?) y como sale el mensaje en el browser, también esta funcionando el apache (nuevamente pido ayuda para saber si estoy en lo cierto)

semptrion 18-05-2007 01:46:31

Alguito más...
 
He encontrado algo más del tema del filtro en el manual:

http://us2.php.net/filter

Habría que ver la configuración sugerida

semptrion 18-05-2007 01:50:51

Finalmente configurar el path
 
Y finalmente, colocar en la directiva path del php.ini la dirección donde se encuentran tus librerías.

Ismael Campos 18-05-2007 07:15:55

Solución parcial
 
La excepción la manda Delphi. Y se encuentra en el system.inc.php, como decia dec.

Cita:

function process($input)
{
//TODO: Our own input filtering class in native PHP code
//NOTE: Comment this line to don't raise the exception an get the unfiltered input
throw new Exception("The Input Filter PHP extension is not setup on this PHP installation, so the contents returned by Input is *not* filtered");
return(
$input);
}



De hecho ya volví a revisar esta parte y, efectivamente, comentando la primer línea, ya deja de salir la excepción y continúa la ejecución.

Es decir ya se están ejecutando los demos que he probado, pero esto me acarreó otro problema por el mentado filtrado. En el ejemplo del Listbox, cuando lo ejecuto ( doy click en el botón) no va agregando líneas a listbox, sino que borra la anterior y sólo coloca la nueva línea (sólo mantiente una).

Otros demos que no necesitan el refrescamiento de la información sobre un componente funcionan bien. Pero claro, los demos son muy simples.

Ismael Campos 18-05-2007 07:21:57

aclaración
 
Por cierto, ya había incorporado las extenciones del PECL en la carpeta donde tengo los archivos del php.. C:\php\ext\
y por supuesto su incorporación en el archivo php.ini.

Sigo pensando que es un problema entre las versiones de php y apache que instale.

Pero bueno, en parte ya está funcionado. Seguiré viendo para probar donde los resultados me pueden dar poblemas, ahora que retiré la excepción.

JXJ 18-05-2007 19:19:35

Ismael Campoz

Si te interesa, volver a instalar
las versiones de apache y php que delphi4php instala
y que no te dan problema al ejecutar los demos desde el IDE de delphi4php
son

Apache 2.0.52.0

Descargalo de aqui
http://archive.apache.org/dist/httpd/binaries/win32/

enlace directo
http://archive.apache.org/dist/httpd...x86-no_ssl.msi

PHP 5.1.3.3
Descargalo de aqui
http://www.php.net/releases/

enlace directo

http://museum.php.net/php5/php-5.1.3-Win32.zip

Compara como esta configurado y enlazado php y apache
revisando los archivos template

de php

C:\CodeGear\Delphi for PHP\1.0\php
php.ini.template

de apache

C:\CodeGear\Delphi for PHP\1.0\apache2\conf
httpd.template.conf

ya sabes, cambia mi directorio de instalacion por el tuyo


Código:

Por cierto, ya había incorporado las extenciones del PECL
en la carpeta donde tengo los archivos del php.. C:\php\ext\
y por supuesto su incorporación en el archivo php.ini.

a mi me funciono a la primera sin agregar el directorio de
las extensiones al archivo php.ini


La franja horaria es GMT +2. Ahora son las 12:32:27.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi