Php SabreDAV+;Nginx+;PUT(创建0字节文件)

Php SabreDAV+;Nginx+;PUT(创建0字节文件),php,nginx,kohana,webdav,sabre,Php,Nginx,Kohana,Webdav,Sabre,我试图让SabreDAV和Nginx工作,但它正在创建一个零字节文件(使用Cyberduck作为我的DAV客户端)。文件被创建,但是没有内容(基本上就像触摸一样),HTML前端插件上传的很好,所以我认为文件权限是可以的。我似乎不知道如何从SabreDAV中获取调试信息(不破解代码) 我已尝试启用http_dav_模块(不确定这是否相关) 及 重新启动nginx Github Kohana模块: 更多说明: SabreDAV处理所有DAV方法。您必须完全关闭nginx的dav模块,它才能工作。

我试图让SabreDAV和Nginx工作,但它正在创建一个零字节文件(使用Cyberduck作为我的DAV客户端)。文件被创建,但是没有内容(基本上就像触摸一样),HTML前端插件上传的很好,所以我认为文件权限是可以的。我似乎不知道如何从SabreDAV中获取调试信息(不破解代码)

我已尝试启用http_dav_模块(不确定这是否相关)

重新启动nginx

  • Github Kohana模块:
  • 更多说明:

    • SabreDAV处理所有DAV方法。您必须完全关闭nginx的dav模块,它才能工作。

      看起来正确的指令是
      dav\u方法关闭(注释了其他指令以获得良好的度量,然后重新启动),但它仍然为我提供了0字节的文件。是否有更好的方法关闭nginx dav模块?更令人恼火的是,客户端(Cyberduck)报告一切正常:image1.pdf上传完成63.9 KB,共63.9 KB,但它是一个0字节的文件。现在关闭nginx dav模块会给出错误消息:
      I/O错误:上传失败不允许
      (来自Cyberduck)-这是我收到的错误消息,也是我试图打开nginx dav模块的原因。另一方面,当我调试0字节文件时(在nginx dav模块打开的情况下),sabredav似乎被触发(不确定),并且该文件是在
      $server->setBaseUri()中设置的任何内容中创建的
      因此,在
      /webdav
      (baseUri)上上载/放置一个名为
      a.png
      的文件是在docroot的
      /webdav/a.png
      中创建一个普通文件(不是零字节)(包括完整路径和文件名)。副作用是我的http://.../webdav 下一个成功例子是试图在该目录中调出一个目录索引,这导致了一个禁止的403(基本上杀死了我的其他路由),不知道如何在这里进行赏金,所以我刚刚在odesk发布了一个作业:
      sudo nginx -V
      
      configure arguments: 
      --prefix=/usr/share/nginx 
      --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-log-path=/var/log/nginx/access.log --http-proxy-temp-path=/var/lib/nginx/proxy --http-scgi-temp-path=/var/lib/nginx/scgi --http-uwsgi-temp-path=/var/lib/nginx/uwsgi --lock-path=/var/lock/nginx.lock --pid-path=/var/run/nginx.pid --with-pcre-jit --with-debug --with-file-aio --with-http_addition_module --with-http_dav_module --with-http_geoip_module --with-http_gzip_static_module --with-http_image_filter_module --with-http_realip_module --with-http_secure_link_module --with-http_stub_status_module --with-http_ssl_module --with-http_sub_module --with-http_xslt_module --with-ipv6 --with-mail --with-mail_ssl_module --add-module=/usr/src/nginx/source/nginx-1.4.2/debian/modules/nginx-auth-pam --add-module=/usr/src/nginx/source/nginx-1.4.2/debian/modules/nginx-dav-ext-module --add-module=/usr/src/nginx/source/nginx-1.4.2/debian/modules/nginx-echo --add-module=/usr/src/nginx/source/nginx-1.4.2/debian/modules/nginx-upstream-fair --add-module=/usr/src/nginx/source/nginx-1.4.2/debian/modules/nginx-syslog --add-module=/usr/src/nginx/source/nginx-1.4.2/debian/modules/nginx-cache-purge --add-module=/usr/src/nginx/source/nginx-1.4.2/debian/modules/ngx_http_pinba_module --add-module=/usr/src/nginx/source/nginx-1.4.2/debian/modules/ngx_http_substitutions_filter_module --add-module=/usr/src/nginx/source/nginx-1.4.2/debian/modules/nginx-x-rid-header --with-ld-opt=-lossp-uuid
      
      server {
          ...
          # DAV
          client_body_temp_path       /tmp;
          dav_methods                 PUT DELETE MKCOL COPY MOVE;
          create_full_put_path        on;
          dav_access                  group:rw  all:r;
          ...
      }