【发布时间】:2012-07-16 15:52:44
【问题描述】:
我有一个在 OSX 系统上运行的 CLI PHP 脚本,它将文件保存到连接的 NAS 驱动器。如果 NAS 被卸载然后重新安装,file_put_contents() 函数会失败并返回错误:
警告:file_put_contents(/Volumes/XXX/XXX.file) [/phpmanual/function.file-put-contents]:打开流失败:没有这样的文件或目录
我在写入前用clearstatcache() 清除文件缓存。驱动器已明确安装。
重新启动脚本没有帮助。到目前为止唯一可行的方法是重新启动机器。
有人对如何让 PHP “重新识别”连接的卷有任何想法吗?
【问题讨论】:
-
XXX的东西会改变吗?例如在安装 #1 上它是/Volumes/abc/foo.bar,但在安装 #2 上它实际上是/Volumes/def? -
不,挂载点始终相同。其余的文件路径明显不同。
-
开始做一些调试,在路径上的组件上做一系列
is_dir、is_writeable等...,看看哪里出了问题。 -
好主意马克。谢谢。会试试的。
-
如果重新启动 Apache 而不是计算机会发生什么?只是想缩小问题的范围,可能是 Apache。