Las llamadas a la función is_readable() de PHP devuelven falso en un directorio que se puede leer desde el símbolo del sistema. Cambié los permisos a los más permisibles y todavía no tuve suerte.PHP is_readable() falla en el directorio samba legible
ls -lad /remote/samba_share
drwxrwxr-x 13 me users 0 May 29 15:49 /remote/samba_share
ls -la /remote/samba_share
drwxr-xr-x 4 me users 0 May 8 14:19 /remote/samba_share/local_dir
drwxr-xr-x 16 me users 0 May 14 19:49 /remote/samba_share/second_drive
drwxrwxrwx 12 me users 0 May 30 09:42 /remote/samba_share/ext_raid
ejecutando el código siguiente ...
if (is_readable('/remote/samba_share' )){ echo "share ok\n"; } else { echo "share BAD\n"; }
if (is_readable('/remote/samba_share/local_dir' )){ echo "local ok\n"; } else { echo "local BAD\n"; }
if (is_readable('/remote/samba_share/second_drive')){ echo "second ok\n"; } else { echo "second BAD\n"; }
if (is_readable('/remote/samba_share/ext_raid' )){ echo "raid ok\n"; } else { echo "raid BAD\n"; }
... ... resultados en
share ok
local ok
second BAD
raid BAD
cualquier directorio de la parte de la samba que no está en la partición primaria física parece fallar
detalles de configuración de la máquina en la que is_readable() se llama:
php -v
PHP 5.3.11-pl0-gentoo (cli) (built: May 5 2012 16:48:35)
php.ini:
safe_mode = Off
safe_mode_gid = On # (tried either way, shouldn't matter)
;open_basedir =
/etc/fstab entry:
//remote_machine/samba_share /remote/samba_share cifs iocharset=utf8,credentials=/blahblah/samba_credentials,uid=me,gid=users,file_mode=0777,dir_mode=0777,auto 0 0
eix samba
[I] net-fs/samba
Installed versions: 3.5.15!t
detalles de configuración de la máquina remota:
eix samba
[I] net-fs/samba
Installed versions: 3.5.15!t
/etc/samba/smb.conf:
[samba_share]
path = /samba_share/
public = yes
writable = yes
; printable = yes
browseable = yes
create mask = 0777
create mode = 0777
directory mode = 0777
He intentado todo lo que puedo pensar para conseguir este trabajo, y ahora Me siento tonto. :-) También puedo proporcionar la configuración del kernel si eso parece relevante para cualquier persona. ¡Gracias por cualquier ayuda!
'second_share', como en realidad es un OTRA cuota de samba montado, debajo de la parte principal de samba? –
No, es una segunda unidad montada en la máquina remota, ubicada en el directorio compartido de samba. Por alguna razón, todos los directorios ubicados físicamente en la partición primaria en esa máquina funcionan, pero otras ubicaciones montadas en diferentes particiones no. – moodboom
Marc B, actualicé la pregunta para aclarar esto mejor. – moodboom