使用 CURL 运行 PHP 将文件复制到共享文件夹会出现权限被拒绝错误
我在我的服务器上使用 Windows。
我必须定期从 FTP 服务器下载一些文件到 SERVER1。下载后将这些文件复制到 SERVER2 上的共享文件夹中。
对于这项工作,我编写了一个 PHP 脚本,并在 .BAT 文件中使用 CURL 安排它,例如:
c:\curl\curl.exe http://localhost/getmyfiles.php
我的脚本正确地从 FTP 下载文件。但是,当我尝试将下载的文件复制到 SERVER2 的共享文件夹时,出现错误。
我尝试了PHP的copy函数和PHP的exec函数,但我无法做到。
PHP 的复制函数出现此错误: function.copy:无法打开流:权限被拒绝
如果我将共享文件夹的权限更改为 SERVER2 上的每个人,则它可以正常工作。
我正在使用 ABC 用户运行我的计划作业,该用户可以对共享文件夹具有写入权限。
如果我使用 ABC 用户登录 SERVER1,我可以使用 Windows 资源管理器成功将文件复制到共享文件夹。
请帮忙...
I'm using Windows on my servers.
I have to periodicly download some file to SERVER1 from FTP server. And then copy those files to shared folder on SERVER2 after downloading them.
For this job, I write a PHP script and I scheduled it with CURL within .BAT file like:
c:\curl\curl.exe http://localhost/getmyfiles.php
My script downloads files from FTP correctly. But, when I try to copy downloaded files to SERVER2's shared folder it gives error.
I tryed PHP's copy function and PHP's exec function, but I coudn't do it.
PHP's copy function gives this error:
function.copy : failed to open stream: Permission denied
If I change shared folder's permissions to EVERYONE on SERVER2 it works correctl.
I'm running my scheduled job with ABC user which is can write permission on shared folder.
If I login to SERVER1 with ABC user, I can copy files to shared folder with windows explorer successfuly.
Help please...
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
PHP 可能以“ABC”之外的另一个用户身份运行。您应该弄清楚 PHP 使用哪个帐户(这里,也许?),然后允许该用户访问共享文件夹。
PHP is probably running as another user than 'ABC'. You should figure out which account PHP uses (here, perhaps?) and then allow that user to access the shared folder.