Configuración PHP Personalizada

La configuración PHP personalizada es útil cuando quiere limitar el consumo de recursos del sistema a través de scripts PHP o cumplir los requisitos de un determinado aplicativo web.

Cuando usted define un parámetro para valor estándar o no especifica el valor, el PHP irá a usar el valor del parámetro definido en la configuración PHP general del servidor.

Si quiere revisar la lista de las directivas PHP normalmente más utilizadas, puede ir a la sección “Famous PHP directives” (Directivas famosas PHP) indicada abajo.

Nota: Si los valores personalizados están excediendo el límite máximo definido en el servidor de configuración PHP, entonces no va a funcionar. Si usted se depara con problemas semejantes, siéntase a gusto para contactarnos que estaremos contentos para explicarle esto pormenorizadamente.

Si usted está usando Linux Hosting (cPanel) y le gustaría editar las directivas PHP, aquí está lo que usted necesita hacer:

Aunque no tengamos cualquier opción en el cPanel para editar las configuraciones PHP directamente, podemos usar la opción cPanel >> PHP Configuration (Configuración PHP) para exhibir las configuraciones generales del servidor.

Una solución alternativa es utilizar el archivo php.ini para personalizar las configuraciones PHP en un dominio. Si usted no encuentra el archivo php.ini, puede crear uno. Es fácil. Vea como puede hacer eso:

  1. Entre a su cPanel
  2. Haga clic en el File Manager (Administrador de Archivos)
  3. Navegue hasta el directorio principal de su dominio para el cual usted quería editar las configuraciones PHP, es decir, /portada/<nombre_de_usuario>/ público_html
  4. Haga clic en el ícono New File (Nuevo Archivo)
  5. Defina el Nuevo Nombre de Archivo como php.ini
  6. Haga clic en Create New File (Crear Nuevo Archivo)

 

Custom PHP Directives

  1. Así que usted haya hecho esto, haga clic con el botón derecho sobre el php.ini que acabó de crear.
  2. Haga clic en Edit (Editar)
  3. Consulte la sección sintaxis php.ini dada abajo.
  4. Inserte sus configuraciones PHP personalizadas. 
  5. Haga clic en Save Changes (Guardar Alteraciones)

Y ya está listo

¿Cómo puedo probar la configuración PHP?

Usted puede usar la función phpinfor() para verificar las configuraciones PHP de su nombre de dominio hospedado en cualquier servidor.

1. Cree un archivo info.php y agregue debajo de la línea del mismo:
—-
<?php phpinfo (); ?>
—-
2. Acceda a http://domain.tld/info.php en el navegador, para revisar las configuraciones PHP actuales del domain.tld (Puede demorar algunos minutos para reflejar las alteraciones recientes).

Aquí está una lista de algunas de las directivas PHP más famosas

Nota: los ejemplos a seguir son representaciones de directivas del PHP y no muestran el valor real definido en nuestros servidores

memory_limit
Esto define la cantidad máxima de memoria en bytes que un script puede asignar Esto ayuda a prevenir que scripts mal escritos consuman toda la memoria disponible en un servidor.
Ejemplo:  memory_limit = 128M

max_execution_time
Tiempo máximo en segundos que un script puede ser ejecutado antes de ser finalizado. Esto ayuda a prevenir que scripts mal escritos interfieran con el servidor.
Ejemplo:  max_execution_time = 20

max_input_time
Tiempo máximo en segundos que es permitido para analizar los datos de entrada.
Ejemplo:  max_input_time = 30

upload_max_filesize
Límite de tamaño máximo de un archivo enviado.
Ejemplo:  upload_max_filesize = 16M

post_max_size
Define el tamaño máximo permitido de informaciones de posteo. Esta definición también afecta la transferencia de archivos enviados. Para enviar archivos grandes, este valor debe ser mayor que upload_max_filesize. Si el límite de memoria es activado, el memory_limit también afecta la transferencia de archivos enviados. En general, memory_limit debe ser mayor que post_max_size.
Ejemplo:  post_max_size = 16M
El directorio temporal usado para almacenar archivos durante la transferencia de archivos enviados.  Debe poder ser escrito por cualquier usuario que esté ejecutando el PHP.
Ejemplo:  upload_tmp_dir = /dir/your_tmp_dir

session.save_path
El directorio donde el PHP escribe los datos de la sesión (archivos). Por ejemplo:  /dir/tmp
Ejemplo:  session.save_path = /dir/tmp

safe_mode
Esta función se tornó OBSOLETA a partir del PHP 5.3.0 y fue REMOVIDA del PHP 5.4.0
El modo seguro del php es una tentativa de resolver el problema de servidores compartidos. Este modo coloca una serie de restricciones en scripts (digamos, el acceso al sistema de archivos), principalmente por razones de seguridad.

No es necesario activar safe_mode si son seguidas otras precauciones de seguridad razonables. Puede hacer sentido en algunas situaciones, pero casi siempre hay una forma mejor de hacerlo.

Most of the CMS installation scripts will love to have safe_mode disabled (like Joomla). This is because safe_mode, by design, turns off the PHP functions that enable easy uploading via a Web browser. If you do use safe_mode, and need to perform installs via the Web browser, temporarily turn safe_mode OFF, and turn it back ON when finished.

La mayoría de los scripts de instalación CMS adoran tener el safe_mode desactivado (como el Joomla). Esto sucede porque el diseño de safe_mode, desconecta las funciones PHP que permiten facilitar la transferencia de archivos a través de un navegador Web. Si usted usa el safe_mode y necesita ejecutar instalaciones a través del browser Web, desconecte temporalmente el safe_mode, y enciéndalo nuevamente al terminar.

Ejemplo:  safe_mode = On/Off

register_globals
Esta función se tornó OBSOLETA a partir del PHP 5.3.0 y fue REMOVIDA del PHP 5.4.0
Dice se debe registrar el contenido de EGPCS (Ambiente, OBTER, POSTAR, Cookie, Servidor) como variables globales.
Cuando está activado, register_globals inyectará scripts con todo tipo de variables, como variables oriundas de formularios HTML. Esta opción es un gran riesgo de seguridad, por lo tanto, no la active si no hay necesidad de eso.
Ejemplo:  register_globals = On/Off

open_basedir
Limita los archivos que pueden ser abiertos por el PHP en los directorios especificados.
Si el archivo está fuera de los directorios especificados, los scripts PHP irán a rechazar fopen() o gzopen() para abrir estos archivos. Para directorios separados, use dos puntos (:) en Linux, y un punto y coma (;) en Windows. Por ejemplo, en Linux: /dir/upload:/usr/tmp.
Ejemplo:  open_basedir = /dir/sub_dir

Magic Quotes
Esto se tornó OBSOLETO a partir del PHP 5.3.0 y fue REMOVIDO del PHP 5.4.0
Es utilizado para evitar la Inyección SQL y ayuda a escribir un mejor código (más seguro)
Ejemplo:  magic_quotes_gpc = On/Off

error_reporting
Define el nivel de relato de errores como ~E_ALL, E_ALL and ~E_NOTICE,E_ALL (‘~’ es usado para ignorar).
E_ALL: Todos los errores y avisos, conforme sean soportados.
E_NOTICE: Avisos de tiempo de ejecución. Indica que el script encontró algo que puede indicar un error, pero que también puede suceder en el curso normal de ejecución de un script.
Ejemplo:  error_reporting = E_ALL & ~E_NOTICE

display_errors
Determina si los errores deben ser puestos en la pantalla como parte de la salida o si ellos no deben ser mostrados a un usuario.
Ejemplo:  display_errors = On/Off

log_errors
Dice si debe o no registrar errores. Por estándar, los errores son registrados en el log de errores del servidor. Use la directiva error_log para especificar el camino para su propio archivo de log.
Ejemplo:  log_errors = On/Off

Si posee un Hospedaje de Windows (Painel Plesk) y le gustaría editar las directivas del PHP, le sugerimos que nos contacte así que nosotros lo podamos ayudar.
Enlaces adicionales para la referencia:
http://www.php.net/manual/en/ini.core.php