PHP Linux + Windows – 共享和权限

我们有一个windows数据写入到Linux节点的主实例,目前这个工作正常。 在Windows上运行的PHP文件可以使用一个简单的脚本来写入Linux机器,如下所示:

file_put_contents('\\\\hostname\\share\\testfile.txt', 'testing123'); 

Linux节点有用户存储的windows php用户,并允许写入文件。 但是,我们希望能够在linux机器上做同样的事情,并写入Windows实例上的共享文件夹。 与上面相同的行,但与Windows主机和共享,仍然返回true,但该文件实际上并没有创build。

  • 如果它不起作用,为什么这条线返回true? 这使得debugging和testing错误变得非常困难。
  • 我们怎样才能使脚本工作? 解决scheme在Linux上安装Windows共享? 这似乎不是一个合适的解决scheme,因为我们可能会更改Windows共享或添加新的,我们不想在每个Linux实例上不断挂载和卸载共享。

我们已经将linux用户添加到了Windows共享权限,但似乎并不奏效。

任何帮助将不胜感激,谢谢。

我正在开发的一个项目只是安装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权限的用户查看时,这只是一个简单的方法来保持用户名/密码对的安全。