El archivo php.ini de configuración de php

Galería de Templates para Joomla!

Galería de Templates para Joomla!

Aprendé Joomla! Via skype o msn

Aprendé Joomla! Via skype o msn

Hosting CPANEL para Joomla!

Hosting CPANEL para Joomla!

Correo electrónico Imprimir PDF

php.ini

(Artículo perteneciente a: http://www.ignside.net/ y publicado aquí bajo expresa autorización)

El archivo php.ini es el que contiene nuestra configuración de PHP, con el que podemos controlar muchos aspectos de su funcionamiento. En esta página intentaremos explicar para que sirve cada una de sus instrucciones y cual es la mejor forma de configurarlo. La sistematica de la página sigue el mismo orden interior de php.ini, aunque puede que haya ligeras diferencias con tu copia, debidas a pequeños cambios entre versiones. La configuración aqui contemplada es la que corresponde a las versiones php 4.3.x.

¿que es el archivo php.ini?

Este archivo sirve para indicar una serie de valores que determinan el comportamiento del intérprete PHP. Lo encontramos dentro de la distribución php en el directorio raiz bajo el nombre php.ini-recommended o php.ini-dist. Se trata de un archivo de texto, que podemos abrir con cualquier editor que trabaje con texto simple (*.txt). Como siempre, nos será mas cómodo trabajar con un editor como html-kit que coloree sintácticamente el archivo.

Lo primero que debemos hacer es en efecto editar una de las dos versiones disponibles, configurarla de acuerdo a nuestras necesidades, y guardarla con el nombre php.ini. ¿Cual escoger? las dos son el mismo archivo, con distintos valores por defecto.

Dentro de este archivo, todo lo que comienza con un punto y coma es un comentario, y es ignorado. El texto marcado con corchetes, como [PHP] indica una cabecera de sección.

Las instrucciones se llaman directivas, y estan formadas por una pareja compuesta por la clave y su valor, por ejemplo: asp_tags = Off. Y ten cuidado, porque diferencia entre mayusculas y minusculas. No es lo mismo asp_tags que Asp_tags. También verás que algunas directivas comienzan con ; lo que quiere decir que estan comentadas ya que no son necesarias por defecto. Debes desactivarlas sin necesitas esa funcionalidad.

Otro dato mas a tener en cuenta. En windows las rutas o paths se escriben con la barra invertida (c:\windows) mientras que unix utiliza la barra (/usr/local/bin/...). En php.ini deberas indicar algunas rutas. Los formatos admisibles son:

C:\directorio\directorio
\directorio\directorio
/directorio/directorio/ 

Si no especificas la letra de la unidad, se presupone que es la unidad actual (esto es, donde tengas php.exe).

¿como trabaja el archivo php.ini?

Antes que nada aclarar que el proceso de instalación de PHP en tu ordenador NO crea el archivo php.ini. Una vez instalado PHP debes escoger uno de los archivos proporcionados como ejemplo y renombrarlos a php.ini

Si tenemos PHP como módulo del servidor, el archivo php.ini se lee cada vez que se reinicia. Por lo tanto tienes que reiniciar para que actualice los cambios. Si PHP está instalado como cgi (no recomendado) se leerá el php.ini en cada llamada a PHP. En ambos casos, lo primero a tener en cuenta será, pues, donde archivar php.ini. El servidor lo buscará sucesivamente -y por este orden- en el propio directorio php (c:/php si usas la instalacion por defecto). Si no lo encuentra alli lo buscará en la ruta definida como variable de entorno y finalmente en el directorio de sistema (c:/windows)

Lo aconsejado es mover php.ini a tu directorio de sistema (c:\windows si tienes W98). Cuida no dejar ninguna version antigua de php.ini en el directorio php, porque podría ser leida con preferencia a la que hayas movido a /windows/. Y *recuerda* que para que cualquier cambio que realices en el php.ini surta efecto, debes reiniciar tu servidor.

Los problemas mas comunes que encontrarás con PHP pasan casi siempre por una incorrecta configuración de php.ini, y en muchos casos, por tener el archivo mal ubicado o duplicado, leyendose un archivo distinto del que tu estas configurando. Si haces un cambio en php.ini y este no se refleja en el funcionamiento de PHP, comprueba la sintaxis que has usado; que has reiniciado el servidor correctamente y que este lee el php.ini deseado. Controla siempre tus copias de php.ini !!

Es altamente recomendable que tengas preparada una pagina con la función phpinfo() para ver como queda la configuración de tu php:


phpinfo();
?>

Guarda esta página como info.php o como se te ocurra, y tenla a mano para comprobar la configuración en cuanto tengas tu php listo.

Los dos php.ini

En la carpeta PHP verás que hay dos archivos php.ini: uno php.ini-recommended y otro php.ini-dist. Los dos tienen las mismas directivas, pero configuradas de distinta forma. La version recomendada es mas exigente en cuestiones de seguridad (esencialmente la directiva registrar globales esta off y mostrar errores tambien off) mientras que dist, aunque menos segura, posiblemente permitirá funcionar a la mayoria de los scripts que puedas bajarte de internet, sin necesidad de adaptaciones.

Las directivas

Veremos a continuación cada una de las directivas y su significado, siguiendo el orden que podriamos ver en nuestro php.ini. Muchas directivas vienen con valores por defecto, o sin valor determinado, o comentadas (inactivas). Una buena política es dejarlas como estan, salvo que sepas exactamente que estas haciendo.

Los valores que indicamos en esta página son indicativos. Lo que pretendemos es explicar el valor de cada directiva (al menos las que conocemos), no proponer un php.ini modélico.

Opciones de lenguaje

En esta primera sección encontramos algunas instrucciones generales sobre el funcionamiento de PHP:

engine = On activa la interpretación de scripts php (si php está cargado como módulo de apache). Esta directiva, en unión de httpd.conf, permite habilitar o deshabilitar php en directorios determinados.

short_open_tag = On Permite usar en tus scripts etiquetas php abreviadas ... ?>, y el atajo para imprimir variables <%= $valor %>. Si el valor es off, deberas usar la forma ... ?> o Este correo electrónico esta protegido de \†Spam Bots\†, debes tener Javascript activado en tu navegador " define el email a usar como contraseña para ftp anonimo

;user_agent="PHP" define la "firma" que dejará PHP en el servidor remoto de donde coge los archivos

default_socket_timeout = 60 timeout en segundos para la apertura de sockets

; auto_detect_line_endings = Off Si activo, PHP detectara automaticamente el carácter que indica fin de linea (distinto en windows, linux y windows)

Extensiones dinamicas

extension= Qué extensiones dinámicas debe cargar el PHP cuando arranca. Debes elegir el archivo que corresponde a tu sistema operativo: por ejemplo extension=msql.dll para windows, extension=msql.so para linux.

Ojo, aqui solo indicamos la extension de los archivos, no su ubicación. Los archivos DEBEN estar en el directorio especificado mas arriba con extension_dir.

Las versiones mas recientes de PHP traen "de serie" los modulos MYSQL, ODBC y GD por lo que NO tienes que cargar sus extensiones.

Configuracion de modulos de PHP

define_syslog_variables = Off Permite definir variables del sistema. Recomendado Off.

;browscap = extra/browscap.ini El archivo browscap.ini es un archivo de texto que contiene información sobre las cadenas de identificación que usa cada navegador. Mediante esta directiva indicas a PHP donde tienes browscap.ini; se usa conjuntamente con la función get_browser().

Directivas de Configuración de Correo

Si usas PHP bajo linux, puedes enviar correo usando tu propio PC con sendmail; con windows no tienes esa posibilidad, por lo que para enviar correos desde un script PHP con la funcion mail() tienes que delegar en tu configuración de correo ordinaria, la que usas por ejemplo con outlook para enviar y recibir correo.

Este seria un ejemplo bajo windows:

SMTP = Este correo electrónico esta protegido de \†Spam Bots\†, debes tener Javascript activado en tu navegador Este seria el caso si tu conexion a internet te la proporciona telefonica. Especificamos la direccion del servidor smtp (correo saliente).

sendmail_from= Este correo electrónico esta protegido de \†Spam Bots\†, debes tener Javascript activado en tu navegador La dirección del remitente ("De:") para los correos enviados desde PHP bajo Windows.

(Artículo perteneciente a: http://www.ignside.net/ y publicado aquí bajo expresa autorización)

 
Copyright © 2005-2014 - Joomlaos.net pertenece a Ulises Ayllapan