調用PHP的is_readable()函數在可從命令提示符讀取的目錄上返回false。我已將權限更改爲最容許,但仍然沒有運氣。PHP is_readable()在可讀的samba目錄上失敗
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
運行下面的代碼...
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"; }
...結果...
share ok
local ok
second BAD
raid BAD
桑巴共享下的任何目錄不是對物理主分區似乎失敗了。
機的配置細節,其中is_readable()被調用:
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
遠程機器的
配置細節:
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
我已經試過所有我能想到的得到這個工作,現在我覺得很愚蠢。 :-)如果這似乎與任何人有關,我也可以提供內核配置。謝謝你的幫助!
「second_share」,作爲這實際上其他一些安裝Samba共享,主要桑巴共享下? –
不,它是安裝在遠程機器上的第二個驅動器,位於samba共享目錄下。由於某種原因,物理上位於該機器主分區上的每個目錄都可以正常工作,但安裝在不同分區上的其他位置則不會。 – moodboom
Marc B,我更新了這個問題,以更好地闡明這一點。 – moodboom