Trabajar con PHP Correctamente

Trabajar con PHP implica tener ciertos conocimientos avanzados en cuanto a configuración y puesta en marcha de los scripts.
Existen scripts que precisan la activación de ciertos parámetros del lado del servidor, los cuales no estan activados por defecto, ya que, actualmente, no son usados, demandan demasiados recursos, o bien son inseguros; sin embargo, Ud. los podrá activar e implementar bajo su plena responsabilidad.

Nuestros servidores cuentan con la proteccion PHPSuexec

 

¿Qué es PHPSuexec?

En cuanto al funcionamiento de php, la diferencia es, que con PHPSuexec, la ejecución de todos los scripts php se ejecutan con el nombre del usuario en vez del usuario “nobody” de apache. Lo que se consigue con esto, es saber en todo momento a quien pertenece cada proceso que está corriendo por parte del servidor, así se pueden controlar los recursos que está utilizando cada usuario de forma mucho más rápida. Esto se hace, debido a que en un alojamiento virtual, comparten máquina clientes, y entonces, deben estar limitados los recursos por cada usuario, para poder repartir equitativamente los mismos entre todos los clientes, y así todos tengan el mismo servicio. Con PHPSuexec se puede tener mucho más controlado y saber en un momento qué cliente está abusando de recursos y poder solucionarlo para tener siempre un servicio eficiente.

Además de la seguridad, también corregirá los problemas que había al subir ficheros mediante páginas Web por programación, ya que al subirse, se subía con el usuario de apache y luego los clientes no tenían permisos suficientes para modificar o eliminar el archivo. Ahora, se crearán directamente con el usuario de cada alojamiento, por lo que no volverá a haber problemas de este tipo.

¿Que pasa al instalar PHPSuexec?


La mayoría de los usuarios no notarán el cambio en el funcionamiento de su página Web, ya que seguirá funcionando todo tal y como les funcionaba antes del cambio, los únicos que tendrán problemas serán los alojamientos que utilicen el .htaccess para unas determinadas cosas, que explicamos posteriormente, y los que tengan permisos en alguna carpeta o en algún fichero 777.

Problemas con .htaccess

Los alojamientos que utilicen .htaccess para activar register globals, con PHP_FLAG, aparecerá un error 500 al abrir la página, para solucionar esto, es decir, para activar register globals con SUEXEC, lo tendrán que hacer a nivel de directorio, es decir, register globals se tienen que activar para cada directorio del alojamiento, hay que crear un archivo llamado php.ini que contenga la siguiente línea:


register_globals = On;


Los .htaccess que contengan valores para PHP_VALUE también darán error 500 en la página, debido a que con SUEXEC no es posible usar ese tipo de directivas.


También generaran error los .htaccess que contengan la directiva ForceType, la cual hay que sustituir por SetHandler, por poner un ejemplo:

Antes de PHPSuexec:

ForceType application/x-httpd-php

Con PHPSuexec debería cambiar por:

SetHandler application/x-httpd-php


Problemas más comunes que pueden aparecer con php SUEXEC


Si con la implantación de php SUEXEC usted detecta fallos tipo 500 internal server error, lo primero que tiene que hacer es lo siguiente:

1.- Compruebe los permisos de los archivos y carpetas de su alojamiento, no pueden superar ninguno los permisos 755, por defecto, todos los archivos subidos mediante ftp tienen los permisos 644, con los cuales funcionan la mayoría de los scripts, pero si algún script requiere de permisos más estrictos, con 755 deberían funcionar sin ningún problema.

2.- Asegúrese que en su .htaccess no contiene directivas tipo PHP FLAG/VALUE o ForceType, ya que estas directivas necesitan hacerse de otra forma tal y como se ha explicado en este manual.

Creación del archivo php.ini

En la carpeta public_html se debe crear un archivo llamado php.ini, en el cual se insertará las instrucciones necesarias, especificas para este tipo de archivo, como ejemplo activaremos register_globals; de la misma manera si se necesitan activar más parámetros, se deben seguir los mismos pasos. (Figura 1)

Se debe tener en cuenta que, el archivo php.ini debe ser creado en cada directorio que se lo requiera, es decir, no basta crearlo en public_html para que funcione totalmente.
Figura 1
Más Información
De esta manera se logra trabajar correctamente con los diferentes parámetros que requiere PHP.
¿Fue útil la respuesta? 100 Los Usuarios han Encontrado Esto Útil (208 Votos)