关于macos:卸载/重新安装驱动器后,PHP file_put_contents()函数失败

PHP file_put_contents() function fails after a drive is unmounted/remounted

我有一个在OSX系统上运行的CLI PHP脚本,该脚本将文件保存到连接的NAS驱动器上。如果已卸载NAS,然后重新安装,则file_put_contents()函数将失败并返回错误:

Warning: file_put_contents(/Volumes/XXX/XXX.file) [/phpmanual/function.file-put-contents]: failed to open stream: No such file or directory

我在写之前使用clearstatcache()清除文件缓存。驱动器已明确安装。

重新启动脚本无济于事。到目前为止,唯一可行的方法是重新启动计算机。

任何人都对如何获取PHP以"重新识别"已连接的卷有任何想法?


经过认真的挖掘,我发现它与文件系统有关,而不与PHP有关。我通过运行以下命令解决了它:

1
2
exec('mkdir /Volumes/Mount_Point;
    mount_afp afp://user:[email protected]/Mount_Point /Volumes/Mount_Point'
);

这将重新建立必要的链接(?),以便PHP脚本可以再次读取它。从Finder重新安装它不起作用。