Foros del Web » Programando para Internet » PHP »

sh: /chmod: not found en error log apache

Estas en el tema de sh: /chmod: not found en error log apache en el foro de PHP en Foros del Web. Buenas, necesito un poco de ayuda... he contratado un servidor nuevo y al trasladar la web al nuevo me da un error que detallo a ...
  #1 (permalink)  
Antiguo 17/12/2011, 23:55
 
Fecha de Ingreso: octubre-2010
Mensajes: 34
Antigüedad: 13 años, 6 meses
Puntos: 0
Exclamación sh: /chmod: not found en error log apache

Buenas,
necesito un poco de ayuda...

he contratado un servidor nuevo y al trasladar la web al nuevo me da un error que detallo a continuación:

tengo el siguiente código en php : exec('chmod -R 777 '. dirname(__FILE__).'/');

y al ejecutarlo da un error en el error_log de apache: sh: /chmod: not found

he intentado poniéndole la ruta absoluta a chmod: exec('/bin/chmod -R 777 '. dirname(__FILE__).'/');

pero sigue sin funcionar.

llevo como 2 dias intentando solucionarlo pero me es imposible, no encuentro la solución.

tengo ubuntu 10.04, apache 2.2.14 y PHP 5.3.2-1ubuntu4.10 with Suhosin-Patch.

me he leído mas de 100 páginas con errores "parecidos" pero nada, no me funciona ninguna solución.

Un saludo
  #2 (permalink)  
Antiguo 18/12/2011, 04:51
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: sh: /chmod: not found en error log apache

Pues yo no creo que sea un problema de php, sino del sistema operativo.

Seguramente tienes deshabilitados ciertos comandos, deberías pedir a tu hosting te solucione dicho problema y no al foro.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 18/12/2011, 10:19
 
Fecha de Ingreso: octubre-2010
Mensajes: 34
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: sh: /chmod: not found en error log apache

El 'problema' es que los comandos funcionan por consola, pero no desde php
  #4 (permalink)  
Antiguo 18/12/2011, 10:51
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: sh: /chmod: not found en error log apache

y el exec esta habilitado??
Código PHP:
Ver original
  1. <?php
  2. function exec_enabled() {
  3.   $disabled = explode(', ', ini_get('disable_functions'));
  4.   return !in_array('exec', $disabled);
  5. }
  6. ?>
prueba esto que tome del manual
y prueba
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #5 (permalink)  
Antiguo 18/12/2011, 13:50
 
Fecha de Ingreso: octubre-2010
Mensajes: 34
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: sh: /chmod: not found en error log apache

Gracias por tu respuesta,

lo he probado en el servidor y no me devuelve ninguna respuesta.

probándolo en mi portátil en localhost me devuelve un 1.

he mandado un mail al soporte del host y me dicen que esta todo correcto en el servidor....
  #6 (permalink)  
Antiguo 18/12/2011, 13:52
 
Fecha de Ingreso: octubre-2010
Mensajes: 34
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: sh: /chmod: not found en error log apache

he probado a hacer "echo exec('whoami');" y no devuelve nada, por lo poco que se de servidores creo que esta deshabilitada la función exec();

pero en el php.ini en disable_functions no hay nada...

yo ya no se que hacer
  #7 (permalink)  
Antiguo 18/12/2011, 14:11
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: sh: /chmod: not found en error log apache

Intenta esto en un script:
Código PHP:
<?php
echo `php -v`;
¿Que arroja?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #8 (permalink)  
Antiguo 18/12/2011, 14:26
 
Fecha de Ingreso: septiembre-2008
Mensajes: 350
Antigüedad: 15 años, 7 meses
Puntos: 31
Respuesta: sh: /chmod: not found en error log apache

en ocasiones cuando creas un file en una pc Windows y lo ejecutas en linux da ese
tipo error. puedes ver mas de eso en google(UNIX line endings) o Windows vs. Unix Line Endings
lo que puedes hacer es crear ese file php desde consola
y le insertas los respectivo comandos: exec('chmod -R 777 '. dirname(__FILE__).'/');


eso me a pasado en Debian y Ubuntu son familia de Debian
__________________
╬-----╬
║☺₧☻║
╬-----╬
  #9 (permalink)  
Antiguo 18/12/2011, 14:31
 
Fecha de Ingreso: octubre-2010
Mensajes: 34
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: sh: /chmod: not found en error log apache

Arroja php -v

El echo funciona
  #10 (permalink)  
Antiguo 18/12/2011, 15:02
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: sh: /chmod: not found en error log apache

Cita:
Iniciado por kaly7 Ver Mensaje
Arroja php -v

El echo funciona
No no, creo que confundiste los backticks ` con comillas simples, ¿verdad?

Ejecuta el ejemplo usando backticks.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #11 (permalink)  
Antiguo 18/12/2011, 15:29
 
Fecha de Ingreso: octubre-2010
Mensajes: 34
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: sh: /chmod: not found en error log apache

confundi las comillas,
con backticks no arroja nada, ahora probaré editando el archivo desde consola
  #12 (permalink)  
Antiguo 18/12/2011, 15:30
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: sh: /chmod: not found en error log apache

Puedes usar system() también, pero si aún así no funciona deberías exigir al soporte de tu hosting que tomen medidas.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #13 (permalink)  
Antiguo 18/12/2011, 19:40
 
Fecha de Ingreso: octubre-2010
Mensajes: 34
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: sh: /chmod: not found en error log apache

me parto la poya...... xD (perdon por la expresion)

he solucionado el problemilla....

al estar "safe_mode" en ON no dejaba ejecutar exec(), al ponerlo en OFF ya deja ejecutar cualquier comando desde exec(),

Pero no entiendo porque, ya que yo tengo otro vps en el cual con safe_mode ON me deja ejecutar cualquier comando con exec() pero en el que estoy actualmente y al que voy a migrar todas mis webs no me deja ejecutarlo con safe_mode ON.

Y ahora la pregunta del millon....

Como puede influir tener safe_mode OFF en la seguridad de mi servidor??
  #14 (permalink)  
Antiguo 18/12/2011, 20:03
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: sh: /chmod: not found en error log apache

De hecho lo recomendado es que (aunque parezca ironico) usar Safe Mode en Off, ya que trae más problemas que soluciones.
  #15 (permalink)  
Antiguo 18/12/2011, 20:56
 
Fecha de Ingreso: septiembre-2008
Mensajes: 350
Antigüedad: 15 años, 7 meses
Puntos: 31
Respuesta: sh: /chmod: not found en error log apache

kaly7 mira lo que dice en este porción del php.ini de PHP 5.3.3-7

; When safe_mode is on, only executables located in the safe_mode_exec_dir
; will be allowed to be executed via the exec family of functions.
; http://php.net/safe-mode-exec-dir
safe_mode_exec_dir =


osea que si el safe_mode esta en ON se tiene que especificar una ruta
en: safe_mode_exec_dir = para ejecutar del comando exec

aunque estoy de acuerdo con lo que dice GatorV
__________________
╬-----╬
║☺₧☻║
╬-----╬
  #16 (permalink)  
Antiguo 18/12/2011, 21:19
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: sh: /chmod: not found en error log apache

Exacto, de hecho los mismos desarrolladores de PHP lo van a desaparecer en versiones futuras de PHP, recomiendan que mejor el mismo programador tome las precauciones necesarias para evitar introducir bugs en su sistema.

Etiquetas: apache, chmod
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:26.