好的,因此PHP脚本存在于Servera上。 Servera具有PHP安全模式,并关闭WebDav。我无法改变这两个因素。我希望Servera上的脚本获取另一台服务器的用户登录/密码,我们将调用ServerB。 ServerB具有WebDav。

最终目标是用户将转到servera上的脚本,在其serverb上放置凭据,然后该脚本将创建一个iCal文件并将其放在serverb上,然后允许用户使用Outlook/ Outlook订阅iCal文件/ GoogleCalendar等(需要文件在WebDAV服务器上)。

所以,我尝试了

fopen(servername/filename, r) 

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

fopen(servername/filename, w)

我遇到了一个错误,即HTTP包装器不支持写作,而只能阅读。

长话短说,有没有办法连接到该服务器并进行身份验证,编写文件,然后关闭连接而无需使用任何已经存在的WebDAV库用于PHP,并且不会被安全模式权限错误击中?

谢谢!

有帮助吗?

解决方案

问题在于,PHP的HTTP协议包装器没有提出。您应该尝试用fsockopen或最好的东西来编写自己的书面。

http://ca3.php.net/manual/en/wrappers.http.php

这与安全模式无关。

其他提示

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

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

关于认证,我不确定,也许有人可以更详细地回答。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top