Informacion sobre PHP suEXEC y Preguntas Frecuentes (FAQ)
Todos los servidores seran compilados con PHP suEXEC. PHP suEXEC ejecuta todos los scripts PHP con tu nombre de usuario en vez de correr como "nobody" asi que es mucho mas facil saber que cliente o sitio web en nuestros servidores ha sido hackeado. Esto tambien va a arreglar cualquier error de permisos/ownership que puedas tener subiendo/modificando un archivo a travez de una interfaz web.
PREGUNTAS FRECUENTES (FAQ) PHP suEXEC
#1. Cual sera la diferencia entre antes y despues de PHP suEXEC?
La mayoria de los sitios no seran afectados gracias a este cambio. PHP suEXEC funciona de la misma manera que los scripts CGI (perl, etc). Todos los scripts de tu sitio web seran ejecutados con tu nombre de usuario en vez que el usuario "nobody".
Esto simplemente significa que de la misma manera que manejas scripts CGI es como vas a manejar PHP de ahora en adelante - Los maximos permisos que se le pueden asignar a los scripts PHP (y directorios) bajo PHP suEXEC es 755. Si los permisos de los directorios y tu script son mayores que 755 tu script va a darte un error #500 cuando lo intentes ver/ejecutar.
#2. Necesito cambiar los permisos de carpeta a 777?
No, tu no necesitas tener tus directorios o archivos con permisos 777, incluso si tus documentos de instalacion te indican lo contrario. Los permisos 755 funcionan del mismo modo. Los scripts que sean de tu propiedad (nombre de usuario) seran capaces de escribir en tus archivos, de la misma manera que lo harian con permisos 777.
Tambien si tienes aplicaciones PHP/scripts con directorios de permisos 777 (necesario para que sean escritos u modificados cuando se usa el modulo php en apache *no es este caso*) los permisos de carpeta deberan ser cambiados a 755.
#3. Y que sobre .htaccess?
Tu no puedes cambiar la configuracion de PHP usando .htaccess cuando el servidor utiliza PHP suEXEC, para eso puedes usar un archivo llamado php.ini con las directivas que necesites (sin PHP_FLAG).
Si estas usando un .htaccess con PHP_VALUE, recibiras un ERROR 500 (Internal server error) cuando intentes ejecutar el script. Esto es porque PHP esta con suEXEC y ya no utiliza el modulo de apache, y ya no va a usar esas directivas.
#4. Que es un archivo php.ini y como hago para crear uno?
PHP.ini es el archivo que el servidor utiliza para ver que tipo de configuracion han sido modificadas comparandola con la configuracion default del servidor. Mientras que el nombre parezca avanzado, es un simple archivo llamado php.ini
Puedes crearlo con notepad, cuando le das salvar archivo le cambias el nombre a php.ini y por supuesto lo salvas como "TODOS LOS ARCHIVOS" no como TXT.
Como resolver problemas
My script PHP no funciona y recibo errores 500 (Internal Server...)
VERIFICA QUE TU SCRIPT PHP TIENEN PERMISOS 755 y no mas de esos. Permisos 644 tambien funcionan normalmente, pero eso no es algo que sera necesario de cambiar en la mayoria de los casos.
Verifica que el directorio donde reside tu script PHP y sus antecesores tienen permisos no mayores que 755.
Verifica que tu .htaccess no contenga PHP_FLAG o PHP_VALUE en ellos
- 2 Los Usuarios han Encontrado Esto Útil