gpt4 book ai didi

php - NFS - PHP 问题

转载 作者:可可西里 更新时间:2023-11-01 01:06:39 25 4
gpt4 key购买 nike

我们遇到了一个奇怪的问题。我们已将 NFS 设置为以只读模式安装了 2 台机器。每当我们上传包含文件时,突然我们在 PHP 中收到 500 错误。当我们跟踪代码执行时,我们发现遇到的错误是由于找不到包含文件问题。但实际上文件存在于磁盘中并且非常可读。当我们卸载并再次安装它时,此错误得到解决。每当我们上传文件时,这个问题都会随机出现。

我们无法获得任何线索。任何意见将不胜感激。

提前致谢。

最佳答案

这听起来可能是文件锁定问题。 NFS 可以锁定正在执行/访问的文件,同时防止其他人访问它们。以糟糕的方式实现它可能会导致死锁,导致文件在访问它的应用程序被删除之前无法使用。

这里有一些关于文件锁定的更多信息:http://en.wikipedia.org/wiki/File_locking

我建议检查您的 NFS 在文件锁定方面的配置情况,并根据您的访问需求解决该问题。

如果它是只读的,你真的不需要启用文件锁定,因为文件锁定的主要好处是防止两个人同时写入一个位置,或者当有人正在写入一个位置时,防止某人读取过时或未完全完成的数据版本。作为只读数据点,在这种情况下不需要。

更新:

要在 Linux NFS 上禁用文件锁定,当您挂载 NFS 点时,在分配给它的选项中,添加 nolock。

例如,如果这是您的/etc/fstab:

/dev/hda2   /   ext2    defaults    1 1
/dev/hdb1 /home ext2 defaults 1 2
/dev/cdrom /media/cdrom auto ro,noauto,user,exec 0 0
/dev/fd0 /media/floppy auto rw,noauto,user,sync 0 0
proc /proc proc defaults 0 0
/dev/hda1 swap swap pri=42 0 0
nfssrv.server.com:/content /opt/content nfs rw,bg,soft,actimeo=0,rsize=8192 0 0

您可以将其更改为:

/dev/hda2   /   ext2    defaults    1 1
/dev/hdb1 /home ext2 defaults 1 2
/dev/cdrom /media/cdrom auto ro,noauto,user,exec 0 0
/dev/fd0 /media/floppy auto rw,noauto,user,sync 0 0
proc /proc proc defaults 0 0
/dev/hda1 swap swap pri=42 0 0
nfssrv.server.com:/content /opt/content nfs rw,bg,soft,actimeo=0,rsize=8192,nolock 0 0

关于php - NFS - PHP 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9312775/

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