Este artículo explica cómo activar o desactivar propiedades PHP para una cuenta específica en un servidor dedicado Linux con cPanel/WHM.
Importante: El método de configuración depende de cómo esté implementado PHP en tu servidor: PHPSuExec / CGI, módulo Apache o FastCGI. Primero identificá cuál usás antes de editar archivos.
Determinar el tipo de implementación PHP
- Conectate por SSH con el usuario
root(ver artículo de acceso SSH en esta categoría). - Entrá al directorio web de una cuenta, por ejemplo:
cd /home/USUARIO/public_html
- Creá un archivo
phpinfo.phpcon este contenido:<?php phpinfo(); ?>
Con
vi: ejecutávi phpinfo.php, presionáipara insertar, pegá el código, presionáEsc, escribí:wqy Enter. - Asigná permisos y propietario al archivo (reemplazá
USUARIOpor la cuenta):chown USUARIO:USUARIO phpinfo.php chmod 644 phpinfo.php
- Abrí en el navegador:
http://tudominio.com/phpinfo.php - Buscá la línea Server API y anotá el valor.
| Valor de Server API | Implementación |
|---|---|
| CGI / CGI/FastCGI | PHPSuExec o entorno similar → usá php.ini por directorio. |
| Apache, Apache 2.0 Handler u otra variante Apache | PHP como módulo de Apache → usá .htaccess. |
| FastCGI | Configuración en cgi-bin + .htaccess (ver sección FastCGI). |
Seguridad: Eliminá phpinfo.php cuando termines de verificar la implementación. No lo dejes publicado en producción.
Configuración con PHPSuExec / CGI (archivo php.ini)
Colocá un archivo php.ini dentro del directorio web donde querés aplicar los cambios (p. ej. public_html).
Nota: Las directivas de php.ini no son recursivas. Si necesitás valores distintos en subcarpetas, creá un php.ini en cada directorio.
Sintaxis:
directiva = valor ; Ejemplos: display_errors = Off memory_limit = 256M max_execution_time = 120 upload_max_filesize = 64M
Configuración con módulo Apache (archivo .htaccess)
Editá o creá el archivo .htaccess en public_html de la cuenta.
Sintaxis:
php_flag directiva valor php_value directiva valor ; Ejemplos: php_flag display_errors Off php_value memory_limit 256M php_value max_execution_time 120
Atención: php_flag y php_value solo funcionan si PHP corre como módulo Apache. Si tu Server API es CGI, estas directivas en .htaccess pueden generar error 500.
Configuración con FastCGI
- Entrá al directorio
cgi-binde la cuenta:cd /home/USUARIO/public_html/cgi-bin
- Copiá el
php.iniglobal y ajustá permisos:cp /usr/local/lib/php.ini . chown USUARIO:USUARIO php.ini
- Creá el archivo
php5.fcgicon este contenido:#!/bin/sh export PHP_FCGI_CHILDREN=1 export PHP_FCGI_MAX_REQUESTS=10 exec /usr/local/cpanel/cgi-sys/php5
- Asigná propietario y permisos de ejecución:
chown USUARIO:USUARIO php5.fcgi php.ini chmod 755 php5.fcgi
- Agregá estas líneas al
.htaccessdepublic_html:AddHandler php5-fastcgi .php Action php5-fastcgi /cgi-bin/php5.fcgi
- Editá las directivas necesarias en el
php.inicopiado encgi-bin.
Verificar que los cambios aplicaron
- Volvé a consultar
phpinfo.phpy buscá la directiva modificada en la tabla Local Value. - Si el sitio devuelve error 500 tras editar
.htaccessophp.ini, revertí el último cambio y probá de a una directiva por vez. - En servidores con cPanel reciente, también podés revisar MultiPHP INI Editor desde WHM o cPanel antes de editar archivos manualmente.
Problemas frecuentes
- Error 500 al guardar .htaccess: probablemente usás directivas de módulo Apache en un entorno CGI; cambiá al método
php.ini. - Los cambios no se aplican: verificá que el archivo esté en el directorio correcto y que no haya otro
php.inio.htaccessen una subcarpeta con prioridad distinta. - FastCGI no ejecuta: revisá permisos
755enphp5.fcgiy que la ruta/usr/local/cpanel/cgi-sys/php5exista en tu versión de cPanel. - Directiva no permitida: algunas opciones están bloqueadas a nivel global en WHM (PHP Configuration Editor).
Si no podés identificar la implementación PHP, una directiva no aplica o el sitio queda inaccesible tras los cambios, abrí un caso desde el portal de clientes o consultá por el chat online del sitio.
