Nuevos parámetros PHP en tu Panel de Control
Todos los planes de alojamiento de Arsys, desde el Plan Profesional, permiten la programación de sitios web con PHP, un lenguaje especialmente preparado para el desarrollo de páginas web: proporciona múltiples librerías con las que conectar nuestro sitio con Bases de Datos, permite utilizar técnicas como AJAX, o programar con diferentes frameworks que simplifican el proceso de construcción de un sitio web.
Para aprovechar toda la potencia que ofrece PHP en ocasiones es necesario adaptar algunos de los parámetros que ofrece, determinando qué funcionalidades son necesarias y optimizando así el rendimiento y la seguridad. Arsys permite controlar los principales parámetros de PHP desde el Panel de Control, y con ellos, el comportamiento de nuestro sitio web.
A lo largo de la evolución de PHP algunos de los parámetros han sufrido modificaciones o han sido abandonados siguiendo una tendencia que busca fomentar la claridad en el código y optimizar el rendimiento y la seguridad. En Arsys, los parámetros que pueden configurarse directamente desde el Panel de Control son los siguientes:
- allow_call_time_pass_reference: se utiliza para reconocer una cierta compatibilidad con versiones anteriores de PHP, permitiendo, cuando tiene valor ‘On’, que se determine si una variable se pasa por valor o referencia en la llamada a una función. Este parámetro no tiene aplicación en los sitios alojados en arsys.es con versiones de PHP 5.3 o superior, ya que esta versión deja en la propia declaración de la función el único sitio en el que se define el modo en el que se enviarán los parámetros. El valor predeterminado y recomendado para este parámetro es ‘Off’.
- auto_globals_jit: permite que PHP cargue las variables globales SERVER y ENV cuando sean utilizadas por primera vez, en lugar de hacerlo al inicio de la ejecución del script. Esto permite ganar tiempo de ejecución cuando estas variables no se utilizan. El valor predeterminado y recomendado para este parámetro es ‘On’.
- display_errors: permite visualizar en el navegador los errores de ejecución. Este parámetro es muy útil para trazar errores de ejecución del código, y debe mantenerse a ‘Off’ cuando no se están realizando tareas de ‘debugging’. El valor predeterminado y recomendado para este parámetro es ‘Off’.
- error_reporting: este parámetro permitirá determinar la ‘verbosidad’ de PHP ante un error o alerta. Combinado con el parámetro anterior nos permitirá encontrar fácilmente un punto de fallo en el código. Si display_errors está deshabilitado, este parámetro únicamente tendrá efectos en el log de ejecución de PHP.
- file_upload: este parámetro determina si se permite o no la carga de archivos a través del método POST. Debe estar habilitado si se construyen formularios que permiten la selección de un archivo para cargarlo en el servidor. El valor predeterminado para este parámetro es ‘On’.
- register_long_arrays: permite el uso de variables de tipo $HTTP_*_VARS, utilizadas en códigos PHP muy antiguos. Los sitios alojados en PHP 5.3 no podrán hacer uso de estas variables independientemente del valor asignado al parámetro. El valor por defecto y predeterminado para este parámetro es ‘Off’.
- max_execution_time: determina, en segundos, el tiempo máximo de ejecución que se permitirá para los programas escritos en PHP para el sitio web. Si el tiempo de ejecución excede al configurado en este parámetro, se parará y se generará un error (timeout). El valor predeterminado para este parámetro es 30 segundos.
- max_input_time: permite determinar, en segundos, el tiempo máximo permitido para la carga de parámetros en la llamada a un PHP. Si el tiempo transcurrido desde que el navegador envía la llamada, hasta que termina de enviar todos los parámetros y archivos es superior al indicado en este parámetro, se suspenderá la ejecución del script (timeout)
- memory_limit: determina el máximo de memoria que puede utilizar un script de PHP. Puede resultar útil bajar estos valores para forzar un error de ejecución, y así localizar memory leaks o bucles cerrados durante el desarrollo de una aplicación. El valor predeterminado para este parámetro es 16 MB.
- post_max_size: determina el tamaño máximo de una petición POST, incluyendo los ficheros que se están subiendo al servidor. El valor predeterminado es de 8MB, y este valor no debería ser nunca inferior al del parámetro upload_max_filesize.
- register_globals: determina si los scripts PHP del sitio web podrán hacer uso de variables globales cargadas con los valores asignados a los elementos de los arrays principales (ENV, GET, POST, Cookie y Server). Si su código PHP es antiguo, es posible que utilice directamente expresiones como $nombre, en lugar de $_POST[$nombre], cuando acceda a un valor de un formulario. Este uso ha sido considerado obsoleto por cuestiones de seguridad y claridad, y debe abandonarse. El valor predeterminado y recomendado para este parámetro es ‘Off’, y no tiene efecto sobre versiones de PHP 5.3 o superiores.
- register_long_arrays: permite el uso de variables de tipo $HTTP_*_VARS, utilizadas en códigos PHP muy antiguos. Los sitios alojados en PHP 5.3 no podrán hacer uso de estas variables independientemente del valor asignado al parámetro. El valor por defecto y predeterminado para este parámetro es ‘Off’.
- safe_mode: permite restringir la ejecución de determinadas funciones consideradas potencialmente peligrosas desde un script en PHP. El valor predeterminado y recomendado para este parámetro es ‘Off’.
- session.auto_start: permite que el sistema inice automáticamente una sesión al comenzar su ejecución. Lo recomendable es determinar el inicio de sesión en el propio código, y por tanto este parámetro está preconfigurado con el valor ‘Off’.
- short_open_tag: determina si las etiquetas ‘’ y ‘?>’ están permitidas para delimitar el código PHP. El valor predeterminado para este parámetro es ‘On’.
- upload_max_filesize: determina el tamaño máximo que se permitirá para la carga de ficheros, de modo que el usuario del sitio web no pueda subir archivos muy voluminosos. Este parámetro debe ser menor o igual al valor post_max_size, ya que la subida de un fichero se realiza encapsulada dentro del POST. El valor predeterminado para este parámetro es 8MB.