【问题标题】:PHP WebDAV Server Certificate FailedPHP WebDAV 服务器证书失败
【发布时间】:2012-01-02 20:26:04
【问题描述】:

目前正在设置一个备份解决方案,通过 WebDAV 将数据库转储和一些其他文件从 Wordpress 网络发送到我 LAN 上的 NAS。我已经在我的网络服务器上安装了 PHP WebDAV,使其工作的基本代码是:

webdav_connect('http://webdav.example.com/dav', 'davuser', 'davpassword');
webdav_put('/your/nice/thing.txt', $data);
webdav_close();

问题是,我的 NAS 要求通过 HTTPS 进行此连接,因此在 Web 浏览器中您会看到可以忽略的警告,但 PHP 会给出以下警告并且代码失败:

警告: webdav_put() [function.webdav-put]:服务器证书验证失败:为不同的主机名颁发证书,颁发者在 /var/www/vhosts/ 中不受信任blah/blah/blah.php 在第 5 行

有没有一种方法可以让 PHP 忽略这一点,或者我需要获得 SSL 证书吗?用于访问我的 NAS 上的 WebDAV 服务的域名是由动态 DNS 提供的,如果有影响的话。

【问题讨论】:

    标签: php ssl certificate webdav


    【解决方案1】:

    有没有办法让 PHP 忽略这一点,或者我需要获得 SSL 证书?

    我不知道 PHP WebDAV 使用哪个 HTTP 层(您使用的是哪个扩展?),但通常可以将底层配置为忽略证书错误。

    如果您出于安全原因需要进行证书验证,则应获取有效证书。

    【讨论】:

    • PHP WebDAV 使用 Neon 库,据我所知 - 关于它的文档很少 - php-webdav.pureftpd.org/project/php-webdav
    • 嗯,我不知道那个图书馆。如果有任何配置设置可用,您可以通过 php.ini / ini_set 更改源代码。或者寻找提供此类功能/设置的替代 WebDAV PHP 库。
    【解决方案2】:

    只是为了完整性,因为我不喜欢留下未回答的问题。我决定通过 SMEStorage 访问我的 WebDAV 服务。他们提供了一个 API,开发人员可以将其用于此类事情:

    http://smestorage.com/?p=static&page=for_developers

    【讨论】:

      猜你喜欢
      • 2011-07-07
      • 2018-10-20
      • 2013-06-17
      • 1970-01-01
      • 2016-09-23
      • 2015-06-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多