gpt4 book ai didi

php - 为什么尽管已成功将文件移动到 NFS 挂载磁盘,但 rename() 仍返回 false?

转载 作者:IT王子 更新时间:2023-10-29 00:49:42 26 4
gpt4 key购买 nike

将文件从本地磁盘移动到 NFS 安装磁盘时,我收到了一个无效参数警告。尽管出现错误消息,文件仍成功移动:

警告:重命名(/tmp/image.jpg,/mnt/remote.server-disk1/image.jpg):参数无效

挂载的磁盘:

$ df
remote.server:/disk1 917G 269M 871G 1% /mnt/remote.server-disk1

远程服务器上导出的磁盘:

$ cat /etc/exports
/disk1 remote.server(rw,sync,root_squash,secure,crossmnt,anonuid=504,anongid=504)

rename()前本地磁盘上的文件:

$ stat /tmp/image.jpg
File: `image.jpg'
Size: 2105 Blocks: 8 IO Block: 4096 regular file
Device: 803h/2051d Inode: 33556339 Links: 1
Access: (0777/-rwxrwxrwx) Uid: ( 501/ apache) Gid: ( 501/ apache)
...

rename()后远程磁盘上的文件:

$ stat /disk1/image.jpg
File: `image.jpg'
Size: 2105 Blocks: 8 IO Block: 4096 regular file
Device: 821h/2081d Inode: 34603214 Links: 1
Access: (0777/-rwxrwxrwx) Uid: ( 501/ apache) Gid: ( 501/ apache)
...

有什么想法吗?谢谢

最佳答案

Unix 中,您不能在文件系统之间重命名移动,相反,您必须将文件从一个源位置复制目标位置,然后删除 来源。这将解释您收到的错误消息。但是,似乎还不清楚为什么它仍然采取行动。这可能与权限有关,或者 NFS 挂载磁盘在本地缓存。

关于php - 为什么尽管已成功将文件移动到 NFS 挂载磁盘,但 rename() 仍返回 false?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19894649/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com