- Estréllate y Arde - https://www.estrellateyarde.org -
Soporte para PHP en Apache
PHP (PHP Hypertext Pre-processor, php.net, paquete php5) es un lenguaje de programación usado frecuentemente en la creación de sitios web. Es un lenguaje embebido en el HTML, interpretado, que se ejecuta en el lado del servidor, que permite crear páginas dinámicas, usar cookies, sesiones, acceder a bases de datos, etc. Hay que destacar que el código PHP no lo podrá ver el usuario aunque intente descargar el .php, ya que el servidor envía sólo código HTML.
Equivalencias en Windows: ASP.
Para configurar PHP editaremos el archivo /etc/php5/apache2/php.ini. Veamos algunas de las principales directivas:
register_globals = Off
En PHP una variable var puede venir de diferentes fuentes: GET (si forma parte de la URL), POST (formulario con method=post)... Si tenemos register_globals = On en todos los casos se creará una variable global $var sin controlar de dónde y hacia dónde va cada variable, suponiendo esto un grave riesgo de seguridad.
Poniendo register_globals = Off evitaremos que PHP cree automáticamente variables globales $var y accederemos a las variables mediante arrays superglobales ($_GET['var'], $_POST['var']...), según el método de envío. De esta manera conseguimos dos cosas:
Así impedimos que una variable GET pasada en la URL suplante a una de nuestras variables internas o a una de nuestras variables POST.
doc_root = /var/www
allow_url_fopen = On
Los directorios donde PHP buscará los ficheros a incluir se especifican en la directiva include_path (separados por ":"):
include_path = ".:/var/www:/var/www/php"
session.save_path = /var/lib/php5
display_errors = Off
y los mandaremos a syslog:
log_errors = On
error_log = syslog
Guardamos los cambios en /etc/php5/apache2/php.ini e informamos a Apache de que tenemos PHP:
<IfModule mod_php5.c> AddType application/x-httpd-php .php .phtml .php3 AddType application/x-httpd-php-source .phps </IfModule>
La primera línea le dice a Apache que los archivos con extensión .php debe interpretarlos como PHP.
La segunda línea sirve para que al abrir una página .phps Apache muestre el código PHP resaltando la sintaxis en color, útil por ejemplo para mostrar el código fuente de una página.
LoadModule php5_module /usr/lib/apache2/modules/libphp5.so
DirectoryIndex index.html index.htm index.cgi index.php
Guardamos los cambios y reiniciamos Apache:
# /etc/init.d/apache restart
Comprobaremos si hemos instalado PHP correctamente poniendo en el directorio de la web (/var/www) la página en PHP más sencilla, Hola mundo. El archivo hello.php contiene lo siguiente:
<?php echo "<html>\n"; echo "<head>\n"; echo "<title>Hola mundo</title>\n"; echo "</head>\n"; echo "<body>\n"; echo "<h1>Hola, mundo.</h1>\n"; echo "</body>\n"; echo "</html>\n"; ?>
Si todo está correcto, al abrir http://127.0.0.1/hello.php en el navegador veremos lo siguiente:
Si miramos el código fuente de la página comprobaremos que no se ve el código PHP, sino sólo HTML.
Article printed from Estréllate y Arde: https://www.estrellateyarde.org
URL to article: https://www.estrellateyarde.org/discover/php-en-linux
Click here to print.
Copyright © 2010 Estrellate y Arde