Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/09/2011, 09:03
Avatar de emprear
emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
php, apache y permisos de usuario

Como están, les explico:
hace algunos días estaba trabajando sobre una script en php y al montarla sobre varios servidores descubrí que en uno de ellos no se ejecutaba correctamente.
La script en sí no tiene problemas, ya que cuando se ejecuta lo hace perfectamente, basicamente se me producían errores al usar fopen(), fwrite(), file_get_contents().
Indagando un poco, llegué a la conclusión de que el problema radica en como esta configurada en el server la administración de permisos, decidí entonces corregirlo
utilizando chmod(), pero para mi sorpresa el uso de chmod() tambien falló. Pude corregir algunos de los problemas, pero solo si entro a mi FTP desde mi clienteFtp y
doy permisos en forma manual, pero eso no tiene gracia alguna, ya que mi aplicación necesita hacer cambios en forma dinámica, y tampoco me parece lógico tener que darle permisos 777
a todas mis carpetas.
Lo primero que aclaro es que chmod(), así como las otras funciones que nombré no aparecen deshabilitadas en phpinfo().
También intente usar funciones de ftp de php, pero sin resultados.
Trás consultar al servicio técnico y preguntarles sencillamente porque no podía utilizar chmod(), recibí una respuesta desalentadora, "ahora no podemos debugear su código".
En realidad, se escaparon por la tangente, yo no les pedí que debugeen nada. Antes de reclamar nuevamente, hice lo siguiente, preparé otra aplicación mas sencilla
a manera de test para comprobar el comportamiento en distintos servidores, con un resultado similar, funciona en todos (de pago e incluso gratuitos), pero en el que tuve el problema, no.
Tengo bastante experiencia en Apache, pero no en Linux ni en el tema de permisos de usuario y como afectan a php, por ahi se me está escapando algo y hay otra forma de hacerlo.
Por eso me he venido al foro a ver si alguien puede aportarme algo, antes de emprenderla nuevamente contra mi servicio de hosting.

Les dejo una serie de links a la script (la segunda, la que hice para que mis "amigos" del Hosting puedan verificar mis conclusiones) para que la vean trabajar

http://vinoselfrances.com.ar/php_fs_testv1.5/ --> funciona php: 5.2.17 Apache: 2.2.17 safe_mode off (en esta hagan scroll en el frame abajo a la izquierda para ver cambios)
http://emprear.eshost.es/php_fs_testv1.5/ --> funciona php: 5.2.13 Apache:2.2.15 safe_mode off
http://emprear.com.ar/php_fs_testv1.5/ --> funciona php: 5.2.17 Apache: 2.2.17 safe_mode off
http://controldesalud.com/php_fs_testv1.5/ --> funciona php: 5.2.17 Apache: 2.2.17 safe_mode on

y aqui la del problema

http://emprear.com/php_fs_testv1.5/ --> funciona php: 5.1.6 Apache: 2.2.3 (CentOS) safe_mode off
En esta última deje habilitado el display_errors()

Espero que alguien me pueda sugerir algo (si, ya sé, cambiar de hosting... pero primero quiero agotar todas las instancias).
Quizás con el mismo php pueda hacer algo, se que hay un comando chown(), pero ni idea como usarlo es este caso y si me solucionaría algo.
Se que la seguridad del server requiere una correcta configuración de los permisos, pero no sé hasta que punto el como están configurados estos en el
server que me trae problemas es por seguridad o sencillamente porque no están bien configurados, si fuese lo primero, entonces los 4 servidores en losque funciona
están mal administrados. De que nos sirven las funciones de php en cuestión si requieren un mal administrador para hacerlas funcionales?

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.