FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Problemas con script php incluido en HTML
Instalé Apache y PHP en mi PC. Ambas parecieran estar funcionando ya que la instrucción de prueba "info.php" para actuar como debiera.
Como estoy iniciando mi aprendizaje en PHP, mi primer ejercicio fue realizar este conocido ejemplo que llamé "ejemplo1.htm": <html> <head> <title>Ejemplo PHP</title> </head> <body> <?php echo "Hola, este es un ejemplo con PHP!"; ?> </body> </html> Lo invoco con la siguiente dirección puesta en Internet Explorer: C:\Archivos de programa\Apache Group\Apache\htdocs\Ejemplo1.htm Sin embargo me saca una página en blanco. Que puede estar ocurriendo???
__________________
SigmaMan |
#2
|
||||
|
||||
Al especificar la dirección de esa forma la petición nunca llega a Apache y por tanto no la procesa PHP. Si ves el código fuente de esa página "en blanco" verás el código PHP.
Para poder verla en tu navegador debes poner la dirección: http://localhost/Ejemplo1.htm // Saludos |
#3
|
|||
|
|||
Script tampoco funciona ...
En realidad no funciona ni:
http://127.0.0.1/ejemplo1.htm http://localhost/ejemplo1.htm ni la anterior. Las tres páginas no ejecutan el script php. Si utilizo una página html normal si funciona con las tres especificaciones. Lo que no funciona es el script embebido o incluido dentro de la página html ! Gracias de antemano.
__________________
SigmaMan |
#4
|
||||
|
||||
Si estas en windows, es posible que la extension .html no este asociada al parser o interprete de php, de hecho seguro que no lo tiene. Cambiale la extension al archivo a .php
Dinos que tal...
__________________
Héctor Geraldino Software Engineer |
#5
|
||||
|
||||
Aunque me parece que lo aclaras vamos a descartar la posibilidad de que Apache no haya sido correctamente instalado:
Si navegas simplemente a http://localhost, ¿ves la página de bienvenida de Apache? De ser así, cuando dices Cita:
Si también es cierto esto, dime, después de la instalación, en caso de haber reiniciado la PC, ¿te aseguraste de que esté corriendo el servidor Apache? // Saludos |
#6
|
||||
|
||||
¡Ah caramba!
Se me adelantó Héctor. Hay veces que no vemos lo más obvio. Seguro debe ser lo que él dice de la extensión. // Saludos |
#7
|
|||
|
|||
Siguio igual ?
Perdón corrijo lo anterior. En realidad lo que arreglo el problema fue el cambio de extensión del archivo a ejemplo1.php, como me había sugerido Héctor.
Sin embargo, esto no me parece muy conveniente, porque que ocurririría si tuviese un script php y un script java incluidos dentro de una misma página HTML. Debo en este caso crear un archivo html con que tipo de extensión: para php o para java? Mejor no sería configurar el php.ini de alguna manera para que reconozca la extensión html? Como se haría ? Gracias por cualquier información adicional.
__________________
SigmaMan Última edición por HombreSigma fecha: 01-07-2004 a las 17:26:38. Razón: Corrección de mi opinión. |
#8
|
|||
|
|||
-
-----------
__________________
SigmaMan |
#9
|
||||
|
||||
+++++++++++
|
#10
|
||||
|
||||
************
Java no maneja scripts, salvo que hables de JSP (java servlets pages), y eso trae un problema de fondo. Sucede que para que el servidor pueda interpretar el codigo de una pagina, y ejecutar las acciones especificadas en el Script, necesita por obligacion un interprete. Asi hay interpretes para asp clasico (asp.dll), para asp.net, para php (php.exe), java, coldfusion, y cualquier otro lenguaje de webscripting. El servidor (iis en este caso) necesita saber, para cada extension de pagina, cual interprete llamar, por lo que usa el mapeo de las extensiones del archivo para llamar uno u otro, pero nunca... nunca dos a la vez. Eso es logico en el hecho de que, php no podra interpretar asp y viceversa, incluso cuando usen tags iguales para indicar el inicio/fin del codigo a ser interpretado ( <% %> o <? ?> o cualquier otro). Ahora, si te refieres a java como javascript, como corre en el cliente, no hay problemas con eso. Con una etiqueta <script> funciona sin problemas. Para que el webserver te reconozca la extension html para ser interpretada por el motor de php, en iis realiza los siguientes pasos: Click derecho sobre el website/properties/Home Directory/Configuration/Mappings Busca la extension .html en la lista, y si no esta, creala con las mismas propiedades que tiene la de la extension .php
__________________
Héctor Geraldino Software Engineer Última edición por __hector fecha: 01-07-2004 a las 20:21:11. |
#11
|
|||
|
|||
Configuración APACHE
Gracias por la información.
Como explicas se configuraría el IIS. Pero como se configuraría el APACHE? Gracias de nuevo...
__________________
SigmaMan |
#12
|
||||
|
||||
Busca las entradas AddType en el archivo %APACHE%\Conf\httpd.conf
Encontrarás una como AddType application/x-httpd-php .php Agrega la línea AddType application/x-httpd-php .html y reinicia Apache. Ahora Apache mandará las páginas con extensión html a PHP. // Saludos |
#13
|
|||
|
|||
Hola a todos
Lo que comenta Roman tiene el problema de que todoas las páginas tanto php com html pasarían por el interprete de PHP con el consiguiente consumo de recursos de la máquina, si solo es para hacer pruebas en casa no pasa nada, pero en un servidor como Dios manda esto sería un gran desperdicio de recursos. |
#14
|
||||
|
||||
Solucion: al cesar lo que es del cesar
Si vas a ejecutar codigo php, la extension del archivo debe ser php. Si es asp, debe ser asp, si es asp.net: aspx, si es coldfusion: cfm, etc etc etc No veo el inconveniente de hacerlo como dios manda, aunque me queda tambien la duda de que tan lento puede ser el proceso de parsing de una pagina html con php, sin que esta incluya codigo php en si misma. Sera cuestion de probar
__________________
Héctor Geraldino Software Engineer |
#15
|
|||
|
|||
Continuando con otro problema similar.
La verdad hice el cambio el archivo de configuración y tampoco me funcionó. Por esta razón deje esta página con extensión php lo que me permite que el interpretador la ejecute correctamente.
Pero ahora el problema con esta misma página es que no debo invocarla de forma simple, lo cual ya me funciona, sino dentro de un conjunto de marcos. Tengo un marco superior, un marco izquierdo y un marco derecho. La página ahora debe mostrar sus resultados en el marco derecho siendo invocada por un enlace desde el marco superior o cuando se inicializa la apertura del conjunto de marcos. Pero en vez de mostrar los resultados como lo haría cuando se ejecuta sola, parece que el interpretador php no ejecuta el código php de la página sino que lo toma como texto, a pesar de que ya tiene extensión .php. Por tanto, el resultado en pantalla no es la ejecución del script sino parte del texto del código php !!. Gracias por cualquier sugerencia.
__________________
SigmaMan Última edición por HombreSigma fecha: 08-07-2004 a las 17:36:20. |
#16
|
|||
|
|||
Hola
Como haces la llamada a esa página ?? Recuerda que para que una página sea interpretada por el PHP debe pasar por el servidor Apacha, o con un ejemplo: Si llamas desde el navegador a una página de la siguiente forma http://localhost/mi_pagina.php será una interpretada por PHP Si lo haces de esta otra forma c:\mi_pagina.php No será interpretada por PHP y el navegador intentará interpretarla como buenamente pueda. |
#17
|
|||
|
|||
Acercándonos a la solución
Kayetano parece que tiene la razón.
Cuando utilizo la ruta absoluta al servidor como por ejemplo http://localhost/mipagina.php e incluso http://localhost/mipagina.htm me funciona en ambos casos. No ocurre así con las direcciones relativas con páginas html que incluyen php ni con los marcos que llaman archivos con extensión php. Entonces como haría para colocar esta pagína en un servidor diferente del local mío sino en otro? Debo cambiar todas las rutas absolutas como la anterior a las rutas del nuevo servidor? Esto me parecería demasiado impractico. Gracias por la información.
__________________
SigmaMan |
#18
|
||||
|
||||
Cita:
c:\pagina\marcos.html y no como http://localhost/marcos.html. y como verás... la ruta "relativa" también es relativa a la forma en que se ha cargado la página con frames. En un servidor definitivo, claro está, no vas a tener ningun problema usando rutas relativas. Hasta luego.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#19
|
|||
|
|||
Hola
No tiens que poner las direcciones completas de las páginas que quieres que se visualicen, me explico con un ejemplo Si estas visualizando la página http://localhost/mi_pagina.php la estas viendo desde el servidor Apache, ahora si desde esta pagina tienes un enlacel del tipo <a href="mi_otra_pagina.php">hola verano</a> tabién la estaras viendo desde el servidor. Como puedes comprobar en el enlace no he puesto ninguna ruta, el Apache ya sabe que debe buscar esa pagina dentru del directorio donde estaba "mi_pagina.php" En pocas palabras no tienes que poner simpre "http://localhost" el Apache es muy listo y sabe donde buscar :-) |
#20
|
||||
|
||||
A parte de la segunda duda del hombresigma .... yo para páginas html con código php embebido utilizo la extensión .phtml.
Saludos, Tony |
|
|
|