Capítulo 4. Configuración

Tabla de contenidos
El archivo de configuración

El archivo de configuración

El archivo de configuración (llamado php3.ini en PHP 3.0, y simplemente php.ini a partir del PHP 4.0) es leído cuando arranca el PHP. Para las versiones de PHP como módulo de servidor esto sólo ocurre una vez al arrancar el servidor web. Para la versión CGI, esto ocurre en cada llamada.

Cuando se utiliza PHP como módulo Apache, también puede cambiar los ajustes de configuración utilizando directivas en los archivos de configuración del Apache y en los .htaccess.

Con el PHP 3.0 hay directivas Apache que se corresponden a cada uno de los ajustes de configuración del php3.ini, con la excepción que su nombre va precedido de "php3_".

Con el PHP 4.0 sólo hay unas pocas directivas de Apache que le permiten cambiar los ajustes de configuración del PHP.

php_value nombre valor

Fija el valor de la variable especificada.

php_flag nombre on|off

Fija una opción de configuración de tipo Boolean.

php_admin_value nombre valor

Fija el valor de la variable especificada. Los ajustes de configuración de tipo "Admin" sólo se pueden fijar desde los archivos principales de configuración del Apache, y no desde los .htaccess.

php_admin_flag nombre on|off

Fija una opción de configuración de tipo Boolean.

Puede ver los ajustes de los valores de configuración en la salida de phpinfo(). También puede acceder a los valores individuales de los ajustes de configuración utilizando get_cfg_var().

Directivas Generales de Configuración

asp_tags boolean

Permite el uso de las etiquetas estilo ASP <% %> además de las habituales etiquetas <?php ?>. También se incluye el atajo para imprimir variables <%= $valor %>. Para más información, vea Escapando del HTML.

Nota: El soporte para etiquetas estilo ASP se añadió en la 3.0.4.

auto_append_file string

Especifica el nombre de un archivo que es troceado automáticamente después del archivo principal. El archivo se incluye como si fuese llamado mediante la función include(), así que se utiliza include_path.

El valor especial none desconecta la adición automática de archivos.

Nota: Si el script es terminado con exit(), no tendrá lugar la adición automática.

auto_prepend_file string

Especifica el nombre de un archivo que es troceado automáticamente antes del archivo principal. Specifies the name of a file that is automatically parsed before the main file. El archivo se incluye como si fuese llamado mediante la función include(), así que se utiliza include_path.

El valor especial none desconecta la adición automática de archivos.

cgi_ext string

display_errors boolean

Determina si los errores se visualizan en pantalla como parte de la salida en HTML o no.

doc_root string

"Directorio raiz" del PHP en el servidor. Sólo se usa si no está vacío. Si el PHP se configura con safe mode, no se sirven archivos fuera de este directorio.

engine boolean

Esta directiva sólo es realmente útil en la versión de PHP como módulo Apache. Se utiliza por sitios que desean habilitar la ejecución del PHP directorio por directorio o en base a cada servidor virtual. Poniendo php3_engine off en los sitios apropiados del archivo httpd.conf, se puede habilitar o deshabilitar el PHP.

error_log string

Nombre del fichero para registrar los errores de un script. Si se utiliza el valor especial syslog, los errores se envían al registro de errores del sistema. En UNIX se refiere a syslog(3) y en Windows NT al registro de eventos. El registro de errores del sistema no es soportado bajo Windows 95.

error_reporting integer

Fija el nivel de informe de errores. El parámetro es un entero que representa un campo de bits. Sume los valores de los niveles de informe de error que desea.

Tabla 4-1. Niveles de Informe de Errores

valor de bitinforme habilitado
1errores normales
2avisos normales
4errores del troceador (parser)
8avisos de estilo no críticos
El valor por defecto para esta directiva es 7 (se muestran los errores normales, avisos normales y errores de parser).

open_basedir string

Limita los archivos que se pueden abrir por el PHP al árbol de directorios especificado.

Cuando un script intenta abrir un archivo con, por ejemplo, fopen o gzopen, se comprueba su localización. Si el fichero está fuera del árbol de directorios especificado, PHP se negará a abrirlo. Todos los enlaces simbólicos son resueltos, de modo que no es posible evitar esta limitación usando uno de ellos.

El valor especial . indica que el directorio base será aquel en el que reside el script.

Bajo Windows, separe los directorios mediante punto y coma. En el resto de sistemas, sepárelos con dos puntos ":". Como módulo de Apache, los senderos para open_basedir de los directorios padre se heredan ahora automáticamente.

Nota: El soporte para directorios múltiples se añadió en la 3.0.7.

El valor por defecto es permitir abrir todos los archivos.

gpc_order string

Fija el order de troceo de variables GET/POST/COOKIE. El valor por defecto de esta directiva es "GPC". Fijándola, por ejemplo, a "GP", hará que el PHP ignore por completo las cookies y que sobreescriba las variables recibidas por GET con las que tengan el mismo nombre y vengan por POST.

ignore_user_abort string

Por defecto está a on. Si se cambia a off, los script terminarán tan pronto como intenten enviar algo después de que un cliente ha roto la conexión. ignore_user_abort().

include_path string

Especifica una lista de directorios en los que las funciones require(), include() y fopen_with_path() buscan los archivos. El formato es similar a la variable de entorno de sistema PATH: una lista de directorios separados por dos puntos en UNIX o por punto y coma en Windows.

Ejemplo 4-1. include_path en UNIX

include_path=.:/home/httpd/php-lib

Ejemplo 4-2. include_path en Windows

include_path=".;c:\www\phplib"
El valor por defecto para esta directiva es . (sólo el directorio actual).

isapi_ext string

log_errors boolean

Dice si los mensajes de error de los script deben ser registrados o no en el registro del servidor. Esta opción, por tanto, es específica del mismo.

magic_quotes_gpc boolean

Fija el estado magic_quotes para operaciones GPC (Get/Post/Cookie). Si magic_quotes vale on, todas las ' (comilla sencilla), " (comilla doble), \ (barra invertida) y los NUL son automáticamente marcados con una barra invertida. Si además magic_quotes_sybase vale on, la comilla sencilla es marcada con otra comilla sencilla en lugar de la barra invertida.

magic_quotes_runtime boolean

Si se habilita magic_quotes_runtime, muchas de las funciones que devuelven datos de algún tipo de fuente externa incluyendo bases de datos y archivos de texto devolverán las comillas marcadas con una barra invertida. Si también está activo magic_quotes_sybase, la comilla simple es marcada con una comilla simple en lugar de la barra invertida.

magic_quotes_sybase boolean

Si magic_quotes_sybase está a on, la comilla simple es marcada con una comilla simple en lugar de la barra invertida cuando están habilitados magic_quotes_gpc o magic_quotes_runtime.

max_execution_time integer

Fija el tiempo máximo en segundos que se le permite usar a un script antes de ser finalizado por el intérprete. Así se evita que scripts mal escritos puedan bloquear el servidor.

memory_limit integer

Fija el tamaño máximo de memoria en bytes que se permite reclamar a un script. Así se evita que script mal escritos se coman toda la memoria dispomible de un servidor.

nsapi_ext string

short_open_tag boolean

Indica si se debe permitir el formato corto (<? ?>) de la etiqueta de apertura del PHP. Si desea utilizar PHP en combinación con XML, deberá desactivar esta opción. Si está desactivada, deberá utilizar el formato largo de la etiqueta de apertura (<?php ?>).

sql.safe_mode boolean

track_errors boolean

Si está habilitada, el último mensaje de error estará siempre presente en la variable global $php_errormsg.

track_vars boolean

Si está activada, la información de entrada de GET, POST y de las cookies se puede encontrar en las matrices asociativas $HTTP_GET_VARS,$HTTP_POST_VARS y $HTTP_COOKIE_VARS respectivamente.

upload_tmp_dir string

El directorio temporal utilizado para almacenar archivos cuando se envían al servidor. Debe tener permiso de escritura para el usuario bajo el que corra el PHP.

user_dir string

El nombre base del directorio utilizado bajo el directorio inicial de un usuario para los archivos PHP. Por ejemplo: paginas_html.

warn_plus_overloading boolean

Si está activada, esta opción hace que el PHP muestre un aviso cuando el operador suma (+) se utiliza en cadenas. Así es más fácil encontrar scripts que necesitan ser reescritos utilizando en su lugar el concatenador de cadenas (.).

Directivas de Configuración de Correo

SMTP string

Nombre DNS o dirección IP del servidor de SMTP que el PHP bajo Windows deberá usar para enviar correo con la función mail().

sendmail_from string

La dirección del remitente ("De:") para los correos enviados desde PHP bajo Windows.

sendmail_path string

Localización del programa sendmail. Generalmente /usr/sbin/sendmail o /usr/lib/sendmail. configure intenta localizarle este archivo lo mejor que puede y fijar un valor por defecto, pero en caso de fallo, lo puede usted fijar aquí.

Los sistemas que no usan sendmail deberán fijar esta directiva al nombre del programa alternativo que ofrezca su sistema de correo, si es que existe. Por ejemplo, los usuarios del Qmail pueden fijarlo normalmente a /var/qmail/bin/sendmail.

Directivas de Configuración de Modo Seguro

safe_mode boolean

Para activar el modo seguro del PHP. Lea el Capítulo de seguridad para más información.

safe_mode_exec_dir string

Si el PHP se utiliza en modo seguro, la función system() y el resto de funciones que ejecutan programas del sistema se niegan a ejecutar programas que no estén en este directorio.

Directivas de Configuración del Debugger

debugger.host string

Nombre DNS o dirección IP del servidor usado por el debugger.

debugger.port string

Número de puerto usado por el debugger.

debugger.enabled boolean

Indica si el debugger está habilitado o no.

Directivas de Carga de Extensiones

enable_dl boolean

Esta directiva sólo es útil en la versión del PHP como módulo del Apache. Puede habilitar o deshabilitar para un servidor virtual o para un directorio la carga dinámica de extensiones de PHP mediante dl().

La razón principal para deshabilitar la carga dinámica es la seguridad. Con la carga dinámica es posible ignorar las restricciones safe_mode y open_basedir.

El valor por defecto es permitir la carga dinámica, excepto cuando se usa el modo seguro. En modo seguro, siempre es imposible usar dl().

extension_dir string

En qué directorio debe buscar el PHP las extensiones cargables dinámicamente.

extension string

Qué extensiones dinámicas debe cargar el PHP cuando arranca.

Directivas de Configuración de MySQL

mysql.allow_persistent boolean

Si permitir o no conexiones MySQL persistentes.

mysql.default_host string

El servidor por defecto para utilizar cuando se conecte al servidor de bases de datos si no se especifica otro distinto.

mysql.default_user string

El nombre de usuario por defecto para utilizar cuando se conecta al servidor de base de datos si no se especifica otro.

mysql.default_password string

La clave por defecto para utilizar cuando se conecta al servidor de base de datos si no se especifica otro.

mysql.max_persistent integer

El número máximo de conexiones persistentes de MySQL por proceso.

mysql.max_links integer

El número máximo de conexiones de MySQL por proceso, incluyendo las persistentes.

Directivas de Configuración de mSQL

msql.allow_persistent boolean

Si se permiten o no conexiones persistentes de mSQL.

msql.max_persistent integer

El número máximo de conexiones persistentes mSQL por proceso.

msql.max_links integer

El número máximo de conexiones de mSQL por proceso, incluyendo las persistentes.

Directivas de Configuración de Postgres

pgsql.allow_persistent boolean

Si se permiten o no conexiones persistentes de Postgres.

pgsql.max_persistent integer

El número máximo de conexiones persistentes Postgres por proceso.

pgsql.max_links integer

El número máximo de conexiones de Postgres por proceso, incluyendo las persistentes.

SESAM Configuration Directives

sesam_oml string

Name of BS2000 PLAM library containing the loadable SESAM driver modules. Required for using SESAM functions. The BS2000 PLAM library must be set ACCESS=READ,SHARE=YES because it must be readable by the apache server's user id.

sesam_configfile string

Name of SESAM application configuration file. Required for using SESAM functions. The BS2000 file must be readable by the apache server's user id.

The application configuration file will usually contain a configuration like (see SESAM reference manual):

CNF=B
NAM=K
NOTYPE

sesam_messagecatalog string

Name of SESAM message catalog file. In most cases, this directive is not neccessary. Only if the SESAM message file is not installed in the system's BS2000 message file table, it can be set with this directive.

The message catalog must be set ACCESS=READ,SHARE=YES because it must be readable by the apache server's user id.

Directivas de Configuración de Sybase

sybase.allow_persistent boolean

Si se permiten o no conexiones persistentes de Sybase.

sybase.max_persistent integer

El número máximo de conexiones persistentes Sybase por proceso.

sybase.max_links integer

El número máximo de conexiones de Sybase por proceso, incluyendo las persistentes.

Directivas de Configuración de Sybase-CT

sybct.allow_persistent boolean

Si se permiten o no conexiones persistentes de Sybase-CT. El valor por defecto es on.

sybct.max_persistent integer

El número máximo de conexiones persistentes Sybase-CT por proceso. El valor por defecto es -1, que significa ilimitadas.

sybct.max_links integer

El número máximo de conexiones de Sybase-CT por proceso, incluyendo las persistentes. El valor por defecto es -1, que significa ilimitadas.

sybct.min_server_severity integer

Los mensajes de servidor con gravedad mayor o igual que sybct.min_server_severity serán reportados como avisos. Este valor también se puede cambiar desde un script usando la función sybase_min_server_severity(). El valor por defecto es 10, que reporta los errores de información con gravedad o mayores.

sybct.min_client_severity integer

Los mensajes de librería de cliente con gravedad mayor o igual que sybct.min_client_severity serán reportados como avisos. Este valor también se puede cambiar desde un script usando la función sybase_min_client_severity(). El valor por defecto es 10, que desconecta los avisos.

sybct.login_timeout integer

El número máximo de segundos de espera por un intento de conexión con éxito antes de indicar un fallo. Nótese que si se ha excedido max_execution_time cuando finaliza la espera de un intento de conexión, el script será finalizado antes de que se pueda tomar una acción en caso de fallo. El valor por defecto es 1 minuto.

sybct.timeout integer

El número máximo de segundos de espera por una operación de consulta o select_db con éxito antes de indicar un fallo. Nótese que si se ha excedido max_execution_time cuando finaliza la espera de un intento de conexión, el script será finalizado antes de que se pueda tomar una acción en caso de fallo. El valor por defecto es sin límite.

sybct.hostname string

El nombre de la máquina desde la que dice estarse conectando, para que se visualize con sp_who(). El valor por defecto es "none".

Directivas de Configuración de Informix

ifx.allow_persistent boolean

Si se permiten o no conexiones persistentes de Informix.

ifx.max_persistent integer

El número máximo de conexiones persistentes de Informix por proceso.

ifx.max_links integer

El número máximo de conexiones Informix por proceso, incluyendo las persistentes.

ifx.default_host string

El servidor por defecto al que conectarse si no se especifica uno en ifx_connect() o en ifx_pconnect().

ifx.default_user string

El id de usuario por defecto para utilizar si no se especifica uno en ifx_connect() o en ifx_pconnect().

ifx.default_password string

La clave por defecto para utilizar si no se especifica uno en ifx_connect() o en ifx_pconnect().

ifx.blobinfile boolean

Fíjelo a TRUE si desea recibir las columnas blob (objetos binarios grandes) en un archivo, y a FALSE si las desea en memoria. Puede cambiar el ajuste en tiempo de ejecución utilizando ifx_blobinfile_mode().

ifx.textasvarchar boolean

Fíjelo a TRUE si desea recibir las columnas TEXT como cadenas normales en las instrucciones select, y a FALSE si quiere usar parámetros de identificador de blobs. Puede cambiar el ajuste en tiempo de ejecución utilizando ifx_textasvarchar().

ifx.byteasvarchar boolean

Fíjelo a TRUE si desea devolver las columnas BYTE como cadenas normales en las instrucciones select, y a FALSE si quiere usar parámetros de identificador de blobs. Puede cambiar el ajuste en tiempo de ejecución utilizando ifx_byteasvarchar().

ifx.charasvarchar boolean

Fíjelo a TRUE si desea suprimir los espacios a la derecha de las columnas CHAR cuando las solicita.

ifx.nullformat boolean

Fíjelo a TRUE si desea que las columnas NULL (nulas) se devuelvan como la cadena literal "NULL", y a FALSE si desea que se devuelvan como la cadena vacía "". Puede cambiar el ajuste en tiempo de ejecución utilizando ifx_nullformat().

Directivas de Configuración de Matemática BC

bcmath.scale integer

Número de dígitos decimales para todas las funciones de bcmath.

Directivas de Configuración de Capacidades de los Navegadores

browscap string

Nombre del archivo de capacidades del navegador. Vea también get_browser().

Directivas Unificadas de Configuración de ODBC

uodbc.default_db string

Fuentes de datos ODBC a utilizar si no se especifica una en odbc_connect() o en odbc_pconnect().

uodbc.default_user string

Nombre de usuario si no se especifica uno en odbc_connect() o en odbc_pconnect().

uodbc.default_pw string

Clave para usar si no se especifica una en odbc_connect() o en odbc_pconnect().

uodbc.allow_persistent boolean

Si se permiten o no conexiones persistentes de ODBC.

uodbc.max_persistent integer

El número máximo de conexiones persistentes de ODBC por proceso.

uodbc.max_links integer

El número máximo de conexiones ODBC por proceso, incluyendo las persistentes.