Volver al índice Configuración


Configuración de Apache

El fichero de configuración de Apache es el archivo httpd.conf. En Windows este archivo se encuentra normalmente en Apache2/conf. En PHPHome se encuentra en C:\Archivos de programa\PHP Home Edition 2\Apache2\conf.

En el archivo httpd.conf se establecen las directivas de configuración de Apache, algunas de las cuales se comentan a continuación.


DocumentRoot

La directiva DcoumentRoot especifica el directorio donde se encuentran las páginas web. Cuando en la barra de dirección se escriba una dirección que comience por localhost/, el servidor buscará los archivos a partir de ese directorio.

En PHPHome la directiva es

DocumentRoot "C:\www"

por lo que el directorio raíz para localhost es C:\www.

Volver al principio


UserDir

La directiva UserDir especifica el directorio donde se encuentran las páginas web de cada usuario, dentro de su propio directorio (en Windows C:\Documents and Settings\Usuario), lo que permite que cada usuario tenga sus páginas en su propio directorio.

Por ejemplo, si la directiva es

UserDir "Mis Documentos/Web"

cada usuario puede guardar sus páginas en el directorio Web dentro de Mis Documentos. Cuando en la barra de dirección se escriba una dirección que comience por localhost/~Usuario, el servidor buscará los archivos a partir de ese directorio.

Para que Apache pueda acceder a los directorios de los usuarios, debe estar cargado el módulo userdir mediante la directiva:

LoadModule userdir_module modules/mod_userdir.so

Volver al principio


Configuración de PHP

El archivo de configuración de PHP es el archivo php.ini. En Windows este archivo se encuentra normalmente en C:\Windows. En el archivo php.ini se establecen las directivas de configuración de PHP, algunas de las cuales se comentan a continuación. Las principales directivas se comentan en el manual de PHP.


short_open_tag

En un archivo que contiene fragmentos de código PHP, estos se identifican mediante las etiquetas <?php .... ?>. La directiva short_open_tag especifica si también se admiten las etiqueta <? ... ?>.

short_open_tag = On Se admite el uso de <? ... ?>
short_open_tag = Off No se admite el uso de <? ... ?>

Se recomienda que esta directiva tome el valor Off y que se utilice siempre la etiqueta <?php para empezar los fragmentos de código php.

Si en el servidor la directiva toma el valor On, las páginas XHTML que contengan una declaración XML (por ejemplo, <?xml version="1.0" encoding="iso-8859-1"?>) producirán un error. Este problema se resuelve utilizando un fragmento de código para generar la declaración XML.

<?xml version="1.0" encoding="iso-8859-1"?> Parse error: parse error, unexpected T_STRING in ejemplo.php on line 1
<?php print "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n"; ?>

Volver al principio


register_globals

La directiva register_globals especifica si las variables EGPCS (Entorno, GET, POST, Cookies y Servidor) se registran automáticamente como variables globales.

register_globals = On Las variables EGPCS se registran como variables globales
register_globals = Off Las variables EGPCS no se registran como variables globales

Por motivos de seguridad, se recomienda que esta directiva tome el valor Off.

En versiones antiguas de PHP (o si la directiva register_globals toma el valor On), las variables EGPCS eran variables globales, por lo que se podían llamar directamente.

Por ejemplo, si un formulario tiene un control con nombre "prueba" y se envía con el valor "Hola", el documento PHP que lo recibe puede utilizar la variable $prueba directamente.

<?php print "$prueba"; ?> Hola

Sin embargo, cuando la directiva register_globals toma el valor Off, se produce el aviso siguiente:

<?php print "$prueba"; ?> Notice: Undefined variable: prueba in ejemplo.phpon line 1

Una forma correcta de acceder al dato recibido es a través de la matriz $_REQUEST:

<?php print "$_REQUEST[prueba]"; ?> Hola

Volver al principio

Volver al principio


error_reporting

La directiva error_reporting especifica el tipo de errores notificados por PHP.

Tipo de error Descripción
E_ALL Todos los errores y avisos
E_ERROR Errores fatales detectados en tiempo de ejecución
E_WARNING Advertencias (errores no fatales) detectados en tiempo de ejecución.
E_PARSE Errores de sintaxis detectados en tiempo de compilación.
E_NOTICE Avisos detectados en tiempo de ejecución (pueden deberse a errores involuntarios o a errores intencionados, por ejemplo, utilizar una variable no inicializada, pero utilizarla teniendo en cuenta que se inicializará automáticamente a una cadena vacía)
E_STRICT Avisos detectados en tiempo de ejecución, al activarlos PHP sugiere cambios en el código para que una mejor interoperabilidad y compatibilidad en el futuro.
E_CORE_ERROR Errores fatales detectados durante el arranque inicial de PHP.
E_CORE_WARNING Advertencias (errores no fatales) detectados durante el arranque inicial de PHP.
E_COMPILE_ERROR Erores fatales detectados en tiempo de compilación.
E_COMPILE_WARNING Advertencias (errores no fatales) detectados en tiempo de compilación.
E_USER_ERROR Mensajes de error generados por el usuario.
E_USER_WARNING Advertencias generadas por el usuario.
E_USER_NOTICE Avisos generados por el usuario.

Para detectar el mayor número posible de errores durante el desarrollo de las páginas PHP es conveniente que la directiva error_reporting tome el valor E_ALL, aunque muchos servidores no suelen mostrar los avisos, ya que pueden deberse a errores intencionados.

error_reporting = E_ALL Se muestran todos los errores.
error_reporting = E_ALL & ~E_NOTICE Se muestran todos los errores, menos los avisos.

Volver al principio


post_max_size y upload_max_filesize

La directiva post_max_size especifica el tamaño máximo de los datos que pueden enviarse al servidor. La directiva upload_max_filesize especifica el tamaño máximo de un fichero que se envíe al servidor. Lógicamente, post_max_size debe ser superior a upload_max_filesize. Si el valor se expresa sin unidades, se interpreta como bytes. Se pueden utilizar las unidades K (kilobytes), M (megabytes) y G (Gigabytes).

post_max_size = 2M tamaño máximo de los datos enviados: 2MB
upload_max_filesize = 524288 tamaño máximo de un archivo: 512 KB (512 * 1024)

Volver al principio


extensión mysqli

Para acceder a la base de datos MySQL, PHPHome solamente tiene activada la extensión mysql. Existe una extensión más moderna llamada mysqli, especialmente diseñada para sacar partido de PHP 5.0 y MySQL 4.1 (o posteriores). Para activar la extensión mysqli hay que quitar el punto y coma de comentario en la línea correspondiente del archivo php.ini.

extension=php_mysqli.dll extensión mysqli

Volver al principio

Autor: Bartolomé Sintes Marco
Última modificación: 10 de febrero de 2006