Foros del Web » Programando para Internet » PHP »

Funcion TOUCH no crea file en Linux

Estas en el tema de Funcion TOUCH no crea file en Linux en el foro de PHP en Foros del Web. Hola amigos: Tengo un simple script que funciona correctamente bajo windows Código PHP: $file  =  'c:\www\Files\test.txt' ; if( touch ( $file )) echo  'File: ' . $file ...
  #1 (permalink)  
Antiguo 12/10/2011, 12:04
 
Fecha de Ingreso: junio-2011
Mensajes: 80
Antigüedad: 12 años, 10 meses
Puntos: 8
Funcion TOUCH no crea file en Linux

Hola amigos:

Tengo un simple script que funciona correctamente bajo windows

Código PHP:
$file 'c:\www\Files\test.txt';
if(
touch($file)) echo 'File: '.$file.' creado';
else echo 
'No se pudo crear el File.'
Cuando lo corro me devuelve File: c:\www\Files\test.txt creado.
Y cuando chequeo esa carpeta el file aparece correctamente.

Este mismo script lo paso a una pc con linux fedora.

Código PHP:
$file '/var/www/Files/test.txt';
if(
touch($file)) echo 'File: '.$file.' creado';
else echo 
'No se pudo crear el File.'
El resultado que obtengo en este caso cuando corro este script es:
No se pudo crear el File.

Ya trate de darle full access con chmod 777 pero asi todo no crea el fichero.

Alguna idea de que me pueda pasar???

Gracias a todos de antemano !!!
  #2 (permalink)  
Antiguo 12/10/2011, 12:16
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Funcion TOUCH no crea file en Linux

Si no recibes un mensaje de error es imposible deducir la razón por la cual no sirve dicha instrucción, te aconsejo que actives el reporte de errores o revises los logs de error para descubrir algo.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 12/10/2011, 12:16
Avatar de CesarHC  
Fecha de Ingreso: junio-2011
Ubicación: localhost
Mensajes: 566
Antigüedad: 12 años, 10 meses
Puntos: 56
Respuesta: Funcion TOUCH no crea file en Linux

Lo unico en lo que veo puede estar el problema es en tu " /var/www/Files/test.txt", prueba poniendo la ruta desde el disco.
__________________
Solo la práctica no te traicionara ¡¡¡¡¡¡

Seguir el camino tu debes PHP The Right Way.
  #4 (permalink)  
Antiguo 12/10/2011, 12:23
 
Fecha de Ingreso: junio-2011
Mensajes: 80
Antigüedad: 12 años, 10 meses
Puntos: 8
Respuesta: Funcion TOUCH no crea file en Linux

El log file me devuelve lo siguiente:

touch() Unable to create file /var/www/files/test.txt because Permission denied in /var/www/html/test.php

Última edición por goransh_pc; 12/10/2011 a las 12:33
  #5 (permalink)  
Antiguo 12/10/2011, 12:40
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Funcion TOUCH no crea file en Linux

El mensaje de error es bastante claro, no tienes permisos.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #6 (permalink)  
Antiguo 12/10/2011, 12:42
 
Fecha de Ingreso: junio-2011
Mensajes: 80
Antigüedad: 12 años, 10 meses
Puntos: 8
Respuesta: Funcion TOUCH no crea file en Linux

si ya me he dado cuenta de eso, pero es que he tratado con chmod 775 y chmod 777 y me decuelve el mimso error........
  #7 (permalink)  
Antiguo 12/10/2011, 13:20
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Funcion TOUCH no crea file en Linux

Revisa que el usuario bajo el que estas ejecutando PHP tenga permisos de escritura en el archivo, aunque asignes los permisos por FTP, no necesariamente significa que sean los del mismo grupo del usuario que esta ejecutando PHP (generalmente es el mismo de Apache).
  #8 (permalink)  
Antiguo 12/10/2011, 21:04
 
Fecha de Ingreso: junio-2011
Mensajes: 80
Antigüedad: 12 años, 10 meses
Puntos: 8
Respuesta: Funcion TOUCH no crea file en Linux

Hola GastorV he seguido tus recomendaciones y cuando corro este comando

ls -lah /var/www/html/ me dice que mi pagina test.php esta
-rw--rw----x- admin admin test.php

en mi httpd.conf revise el User y Group y es en ambos casos apache

ls -lah /var/www/Files/

drwx-r-x--r-x- root root Files

he intendado cambiar a el dueno a apache pero nada

chown -R apache:apache /var/www/Files /var/www/html/test.php
chmod 777 /var/www/Files /var/www/html/test.php

probe tambien con admin que es el usuario que tengo creado para copiar ficheros al server y nada.

alguna otra idea de que me esta sucediendo ???
Gracias a todos.
  #9 (permalink)  
Antiguo 12/10/2011, 21:40
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Funcion TOUCH no crea file en Linux

No es a test.php si no al directorio para que pueda crear el archivo.

Saludos.
  #10 (permalink)  
Antiguo 13/10/2011, 09:28
 
Fecha de Ingreso: junio-2011
Mensajes: 80
Antigüedad: 12 años, 10 meses
Puntos: 8
Respuesta: Funcion TOUCH no crea file en Linux

Hola,

GastorV he intentado asignar solo al directorio como me dices

chown apache:apache /varwww/Files /var/www/html

y nada de nada, me sigue devolviendo el mismo error.

touch() Unable to create file /var/www/files/test.txt because Permission denied in /var/www/html/test.php
  #11 (permalink)  
Antiguo 13/10/2011, 09:49
 
Fecha de Ingreso: junio-2011
Mensajes: 80
Antigüedad: 12 años, 10 meses
Puntos: 8
Respuesta: Funcion TOUCH no crea file en Linux

Busque varios documentos por la red y he leido en uno de ellos sobre SELinux

he desabilitado este y me ha funcionado correctamente crear el file pero el documento decia que no es aconsejable desabilitar esta opcion en linux

/etc/selinux/config

#SELINUX=enforcing // Valor por defecto.
SELINUX=disabled
  #12 (permalink)  
Antiguo 13/10/2011, 09:56
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Funcion TOUCH no crea file en Linux

Deberías de buscar si SELinux te permite asignar el permiso especial para la carpeta.
  #13 (permalink)  
Antiguo 13/10/2011, 17:42
 
Fecha de Ingreso: junio-2011
Mensajes: 80
Antigüedad: 12 años, 10 meses
Puntos: 8
Respuesta: Funcion TOUCH no crea file en Linux

Gracias GastorV

Etiquetas: crea, file, funcion, linux, touch
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 16:27.