我用 PHP 开发的 webdav 协议的软件 phpdav
我用php开发了一个webdav协议的软件phpdav
github地址:
https://github.com/xinghanking/phpdav
功能作用介绍:
https://zhuanlan.zhihu.com/p/64740062
安装使用说明:
运行环境要求:
- php5.6 以上版本;
- nginx1.11.0以上版本(建议) ;
安装步骤
- 从github上获取phpdav代码,放置在你要做为phpdav代码的运行目录内,如:/home/work/phpdav
-
修改conf/config.ini.php里
$cloud_root = null;
为你要映射的目录地址,
注意要给你php的执行用户读写执行权限
3 . 修改nginx配置,参考server { listen 443 ssl; server_name cloud.httpsdav.club; ssl_certificate ssl/phpdav.crt; ssl_certificate_key ssl/phpdav.key; ssl_session_timeout 5m; ssl_protocols SSLv3 TLSv1; ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP; access_log /home/phpdav/phpdav/logs/nginx/access.log main; charset utf-8; sendfile on; tcp_nodelay on; #关闭Nagle算法,数据包直接发送 client_max_body_size 0; #不限制body大小 client_body_in_file_only clean; # 连接断开后清除储存的临时数据文件 client_body_in_single_buffer on; location / { root /home/work/phpdav/interface; rewrite .* /index.php break; fastcgi_pass unix:/home/work/phpdav/server/run/php-cgi.sock; fastcgi_keep_conn on; fastcgi_limit_rate 0; fastcgi_request_buffering on; fastcgi_cache_revalidate on; fastcgi_pass_request_headers on; fastcgi_force_ranges on; fastcgi_connect_timeout 600s; fastcgi_read_timeout 600s; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param QUERY_STRING $query_string; fastcgi_param REQUEST_METHOD $request_method; fastcgi_param CONTENT_TYPE $content_type; fastcgi_param CONTENT_LENGTH $content_length; fastcgi_param SCRIPT_NAME $fastcgi_script_name; fastcgi_param REQUEST_ID $request_id; fastcgi_param REQUEST_URI $request_uri; fastcgi_param REQUEST_BODY_FILE $request_body_file; fastcgi_param DOCUMENT_URI $document_uri; fastcgi_param DOCUMENT_ROOT $document_root; fastcgi_param SERVER_PROTOCOL $server_protocol; fastcgi_param REQUEST_SCHEME $scheme; fastcgi_param HTTPS $https if_not_empty; fastcgi_param GATEWAY_INTERFACE CGI/1.1; fastcgi_param SERVER_SOFTWARE phpdav-1.0; fastcgi_param REMOTE_ADDR $remote_addr; fastcgi_param REMOTE_PORT $remote_port; fastcgi_param SERVER_ADDR $server_addr; fastcgi_param SERVER_PORT $server_port; fastcgi_param SERVER_NAME $server_name; } }
-----
你可以直接将以上配置复制到你的nginx.conf的http配置项内,
只要修改里面的 listen、server_name、 root 、 fastcgi_pass配置项
如果不开启ssl ,可以删除里面的ssl相关配置项,如果要开启ssl,请修改以上ssl的ssl_certificate、ssl_certificate_key配置项
如果你使用的nginx是低于nginx1.11.0版本,请将
fastcgi_param REQUEST_ID $request_id;
去掉,因为 $request_id 是在nginx1.11.0版本加入的
重启nginx,然后就可以在你的本地电脑尝试挂载使用了。
本作品采用《CC 协议》,转载必须注明作者和本文链接