Configuración del archivo PHP.INI
El archivo de configuración de PHP, php.ini, es la forma final y más inmediata de afectar la funcionalidad de PHP. El archivo php.ini se lee cada vez que se inicializa PHP, en otras palabras, siempre que se reinicia httpd para la versión del módulo o con cada ejecución de script para la versión CGI. Si su cambio no aparece, recuerde detener y reiniciar httpd. Si aún no aparece, use phpinfo () para verificar la ruta a php.ini.
El archivo de configuración está bien comentado y es completo. Las claves distinguen entre mayúsculas y minúsculas, los valores de las palabras clave no; los espacios en blanco y las líneas que comienzan con punto y coma se ignoran. Los valores booleanos se pueden representar mediante 1/0, Sí / No, Activado / Desactivado o Verdadero / Falso. Los valores predeterminados en php.ini-dist darán como resultado una instalación de PHP razonable que se puede modificar más adelante.
Aquí estamos explicando las configuraciones importantes en php.ini que puede necesitar para su analizador PHP.
short_open_tag = Desactivado
Las etiquetas abiertas cortas tienen este aspecto: <? ?>. Esta opción debe estar desactivada si desea utilizar funciones XML.
safe_mode = Desactivado
Si está activado, probablemente compiló PHP con el indicador --enable-safe-mode. El modo seguro es más relevante para el uso de CGI. Vea la explicación en la sección "Opciones de tiempo de compilación CGI". anteriormente en este capítulo.
safe_mode_exec_dir = [DIR]
Esta opción es relevante solo si el modo seguro está activado; también se puede configurar con el indicador --with-exec-dir durante el proceso de compilación de Unix. PHP en modo seguro solo ejecuta binarios externos desde este directorio. El valor predeterminado es / usr / local / bin. Esto no tiene nada que ver con ofrecer una página web PHP / HTML normal.
safe_mode_allowed_env_vars = [PHP_]
Esta opción establece qué variables de entorno pueden cambiar los usuarios en modo seguro. El valor predeterminado son solo aquellas variables precedidas por "PHP_". Si esta directiva está vacía, la mayoría de las variables se pueden modificar.
safe_mode_protected_env_vars = [LD_LIBRARY_PATH]
Esta opción establece las variables de entorno que los usuarios no pueden cambiar en modo seguro, incluso si safe_mode_allowed_env_vars está configurado de forma permisiva
disable_functions = [función1, función2 ...]
Una adición bienvenida a la configuración de PHP4 y perpetuada en PHP5 es la capacidad de deshabilitar funciones seleccionadas por razones de seguridad. Anteriormente, esto requería la edición manual del código C a partir del cual se creó PHP. Las funciones de sistema de archivos, sistema y red probablemente deberían ser las primeras en desaparecer porque permitir la capacidad de escribir archivos y alterar el sistema a través de HTTP nunca es una idea tan segura.
max_execution_time = 30
La función set_time_limit () no funciona en modo seguro, por lo que esta es la forma principal de hacer que un script agote el tiempo de espera en modo seguro. En Windows, debe cancelar en función del consumo máximo de memoria en lugar del tiempo. También puede usar la configuración de tiempo de espera de Apache para agotar el tiempo de espera si usa Apache, pero eso también se aplicará a los archivos que no sean PHP en el sitio.
error_reporting = E_ALL & ~ E_NOTICE
El valor predeterminado es E_ALL & ~ E_NOTICE, todos los errores excepto los avisos. Los servidores de desarrollo deben establecerse al menos en el valor predeterminado; solo los servidores de producción deberían considerar un valor menor
error_prepend_string = [" "]
Con su sujetalibros, error_append_string, esta configuración le permite hacer que los mensajes de error tengan un color diferente al de otro texto, o lo que sea.
warn_plus_overloading = Apagado
Esta configuración emite una advertencia si el operador + se usa con cadenas, como en un valor de formulario.
orden_variables = EGPCS
Esta opción de configuración reemplaza a gpc_order. Ambos ahora están en desuso junto con register_globals. Establece el orden de las diferentes variables: Entorno, GET, POST, COOKIE y SERVER (también conocido como integrado). Puede cambiar este orden. Las variables se sobrescribirán sucesivamente en orden de izquierda a derecha, ganando la mano la de la derecha cada vez. Esto significa que si dejó la configuración predeterminada y usó el mismo nombre para una variable de entorno, una variable POST y una variable COOKIE, la variable COOKIE poseería ese nombre al final del proceso. En la vida real, esto no sucede mucho.
register_globals = Desactivado
Esta configuración le permite decidir si desea registrar las variables EGPCS como globales. Esto ahora está en desuso y, a partir de PHP4.2, esta marca está desactivada de forma predeterminada. En su lugar, utilice matrices superglobales. Todas las listas de códigos principales de este libro utilizan matrices superglobales.
gpc_order = GPC
Esta configuración ha quedado obsoleta en GPC.
magic_quotes_gpc = Activado
Esta configuración escapa de las comillas en los datos GET / POST / COOKIE entrantes. Si usa muchos formularios que posiblemente se envían a sí mismos u otros formularios y muestran valores de formulario, es posible que deba establecer esta directiva en On o prepararse para usar addedlashes () en datos de tipo cadena.
magic_quotes_runtime = Desactivado
Esta configuración escapa a las comillas en la base de datos entrante y las cadenas de texto. Recuerde que SQL agrega barras diagonales a las comillas simples y apóstrofos cuando almacena cadenas y no las elimina cuando las devuelve. Si esta configuración está Desactivada, necesitará usar stripslashes () al generar cualquier tipo de datos de cadena desde una base de datos SQL. Si magic_quotes_sybase está activado, debe estar desactivado.
magic_quotes_sybase = Desactivado
Esta configuración escapa de las comillas simples en la base de datos entrante y las cadenas de texto con comillas simples estilo Sybase en lugar de barras invertidas. Si magic_quotes_runtime está configurado como Activado, debe estar Desactivado.
auto-prepend-file = [ruta / a / archivo]
Si se especifica una ruta aquí, PHP debe incluirla automáticamente () al principio de cada archivo PHP. Incluir restricciones de ruta se aplican.
auto-append-file = [ruta / a / archivo]
Si se especifica una ruta aquí, PHP debe incluirla automáticamente () al final de cada archivo PHP, a menos que escape usando la función exit (). Incluir restricciones de ruta se aplican.
include_path = [DIR]
Si establece este valor, solo podrá incluir o solicitar archivos de estos directorios. El directorio de inclusión generalmente se encuentra debajo de la raíz de su documento; esto es obligatorio si está ejecutando en modo seguro. Establezca esto en. para incluir archivos del mismo directorio en el que se encuentra su script. Varios directorios están separados por dos puntos:.: / usr / local / apache / htdocs: / usr / local / lib.
doc_root = [DIR]
Si está utilizando Apache, ya ha configurado una raíz de documento para este servidor o host virtual en httpd.conf. Establezca este valor aquí si está usando el modo seguro o si desea habilitar PHP solo en una parte de su sitio (por ejemplo, solo en un subdirectorio de su raíz web).
file_uploads = [activar / desactivar]
Active esta marca si va a cargar archivos usando un script PHP.
upload_tmp_dir = [DIR]
No descomente esta línea a menos que comprenda las implicaciones de las cargas HTTP.
session.save-handler = archivos
Excepto en raras circunstancias, no querrá cambiar esta configuración. Así que no lo toques.
ignore_user_abort = [Activar / Desactivar]
Esta configuración controla lo que sucede si un visitante del sitio hace clic en el botón Detener del navegador. El valor predeterminado es Activado, lo que significa que el script continúa ejecutándose hasta que se completa o se agota el tiempo de espera. Si la configuración se cambia a Desactivada, el script se cancelará. Esta configuración solo funciona en modo módulo, no CGI.
mysql.default_host = nombre de host
El host del servidor predeterminado que se utilizará al conectarse al servidor de la base de datos si no se especifica ningún otro host.
mysql.default_user = nombre de usuario
El nombre de usuario predeterminado que se utilizará al conectarse al servidor de la base de datos si no se especifica ningún otro nombre.
mysql.default_password = contraseña
La contraseña predeterminada que se utilizará al conectarse al servidor de la base de datos si no se especifica ninguna otra contraseña.