¿Qué es php.ini?
Cómo crear y usar tu propio archivo php.ini en el alojamiento compartido (suPHP).
Cada usuario puede crear su propio archivo php.ini y colocarlo en el directorio donde residen sus scripts. Esto te permite ajustar la configuración de PHP sin tener que contactar con el soporte cada vez.
Proteger php.ini del acceso público
Si colocas php.ini dentro de public_html, asegúrate de bloquear el acceso público. Abre (o crea) el archivo .htaccess en la raíz de tu sitio — por ejemplo, /home/user/public_html, donde user es tu nombre de usuario de cPanel — y añade el siguiente bloque:
<Files php.ini>
order allow,deny
deny from all
</Files>
Esto impide que alguien pueda ver tu archivo php.ini directamente en el navegador.
Importante
Cuando PHP se ejecuta como handler CGI o suPHP, no puedes usar php_flag, php_admin_flag, php_value ni directivas similares dentro de .htaccess. Hacerlo producirá un 500 Internal Server Error.
Aplicar php.ini a todo el sitio
Por defecto, un php.ini personalizado solo afecta al directorio en el que se encuentra. Para aplicarlo a todo el sitio, añade una de las siguientes líneas en tu archivo .htaccess — justo antes del bloque <Files> anterior — según tu servidor:
Para la mayoría de los servidores:
suPHP_ConfigPath /home/user/public_html
Para hostde6 y hostde15:
lsapi_phpini /home/user/public_html
Sustituye user por tu nombre de usuario real de cPanel.
Referencia de permisos de archivos
| Permiso | Significado |
|---|---|
644 |
El propietario puede escribir; los demás solo pueden leer (valor predeterminado para archivos) |
444 |
Solo lectura para todos, incluidos tus propios scripts |
755 |
Permisos estándar para carpetas (no se necesitan cambios) |
Con permisos 644, solo los scripts que se ejecutan bajo tu propia cuenta pueden escribir en los archivos — nadie más. Establecer los archivos en 444 añade una capa adicional de seguridad al impedir que incluso tus propios scripts los modifiquen, aunque esto es completamente opcional.
Como regla general: no cambies los permisos de los archivos durante la instalación de scripts, aunque las instrucciones te indiquen lo contrario. Puedes omitir sin problema cualquier paso CHMOD.
Nuestros servicios y productos
Ejemplo de php.ini con los parámetros más habituales
Sintaxis:
directiva = valor— las líneas que comienzan por;son comentarios y PHP las ignora.
safe_mode= Offdisable_functions=— bloquear funciones PHP específicas por motivos de seguridadmax_execution_time= 30— tiempo máximo de ejecución de un script en segundosmemory_limit= 16M— memoria máxima que puede consumir un scripterror_reporting= E_ALL & ~E_NOTICE— mostrar todos los errores excepto los avisosdisplay_errors= On— mostrar los errores en el navegador (útil para depuración)variables_order= "EGPCS"— orden en que PHP registra las variables: E = integradas, G = GET, P = POST, C = Cookies, S = Sessionsregister_globals= On— hacer accesibles las variables GET/POST/Cookie/Session como variables normalespost_max_size= 55M— tamaño máximo de los datos POST aceptadosmagic_quotes_gpc= On— escapar automáticamente las comillas de las entradas POST/GET/Cookiefile_uploads= On— permitir la subida de archivos;upload_tmp_dir=— directorio temporal para los archivos subidos (créalo si configuras este parámetro)upload_max_filesize= 5M— tamaño máximo de un archivo subido individualmentesession.save_handler= files— almacenar los datos de sesión en archivossession.save_path= /tmp— directorio para los archivos de sesión (créalo si es necesario)session.use_cookies= 1— usar cookies para gestionar las sesionessession.name= PHPSESSID— nombre de la cookie usada para identificar la sesiónsession.auto_start= 0— no iniciar una sesión automáticamente en cada solicitudsession.cookie_lifetime= 0— la cookie de sesión expira al cerrar el navegadorsession.use_trans_sid= 1— añadir automáticamente el ID de sesión a los enlaces (alternativa si las cookies están desactivadas)
Ayuda
¿Tienes dudas o necesitas ayuda? Escríbenos a través del sistema de tickets — siempre estamos aquí para ayudarte!