2009-04-23 137 views
1

好的,所以PHP脚本存在于serverA上。 ServerA具有PHP安全模式ON和WebDAV关闭。我无法改变这些因素。我想让serverA上的脚本获取用户的另一台服务器的登录名/密码,我们将其称为serverB。 ServerB已打开WebDAV。WebDav连接/使用PHP验证

最终目标是用户将转到ServerA上的脚本,为ServerB放入他们的凭据,然后该脚本将创建一个iCal文件并将其放置在ServerB上,从而允许用户订阅iCal使用Outlook/GoogleCalendar等文件(这需要该文件位于WebDAV服务器上)。

所以,我想

fopen(servername/filename, r) 

,并能够在远程服务器上读取文件。但是当我尝试

fopen(servername/filename, w) 

我得到一个错误,HTTP包装不支持写入,只能读取。

长话短说,有没有办法连接到这台服务器并进行身份验证,写入文件,然后关闭连接,而无需使用PHP的任何现有WebDAV库,也不会遇到安全模式权限错误?

谢谢!

回答

0

这里的问题是,安全模式旨在限制您,因此您无法在“安全”区域外执行任何操作。

你可以尝试的(如果可以的话)是在php.ini中修改safe_mode_exec_dir,那么你可以启动外部程序来为你写文件(如果它们驻留在这个安全模式目录

有关身份验证的,我不知道,也许有人能回答这个问题的更多细节。