我们有一个Windows主实例,可以将数据写入Linux节点,目前这个工作正常。在Windows上运行的PHP文件可以使用一个简单的脚本写入linux机器,如下所示:
file_put_contents('\\\\hostname\\share\\testfile.txt', 'testing123');
linux节点存储了windows php用户,并允许写入文件。但是,我们希望能够在linux机器上执行相同的操作,并写入Windows实例上的共享文件夹。与上面相同的行,但是使用windows主机和共享,仍然返回true,但实际上并未创建该文件。
我们已将linux用户添加到Windows共享权限,但它似乎无法正常工作。
任何帮助都将不胜感激,谢谢。
答案 0 :(得分:3)
我正在处理的项目只是安装了Windows共享。我们在/ etc / fstab文件中有条目,可以在引导计算机时自动挂载共享。例如:
//alpha/inetpub /mnt/alpha cifs credentials=/root/credentials,_netdev,file_mode=0644,dir_mode=0755,uid=1000,gid=1000,rw 0 0
//beta/inetpub /mnt/beta cifs credentials=/root/credentials,_netdev,file_mode=0644,dir_mode=0755,uid=1000,gid=1000,rw 0 0
在我们的环境中,Windows共享不会更改名称。我们的Linux实例不需要访问所有Windows共享,因此我们只需更新fstab文件,以获取任何需要访问任何新共享的实例。
凭证文件是格式为的简单文本文件:
username=SOME_USERNAME
password=THE_PASSWORD_FOR_USERNAME
如果没有root
访问权限的用户可能会查看某些其他脚本/文件,这只是保护用户名/密码对的一种简单方法。