win10家庭版列目录 h5ai + nginx + php

March 4, 2019 · 分享 · 163次阅读

写在最前面,请将Windows中IIS开启,即勾选
控制面板——>程序——>启用或关闭Windows功能——>Internet Information Services
同时取消掉静态内容,即Internet Information Services——>万维网服务——>常见HTTP功能——>静态内容
然后重启电脑。

h5ai部分

到官网下载源文件:https://larsjung.de/h5ai/
将压缩包解压至要列目录的文件夹
为了解决中文文件&目录显示乱码,且有可能下载出错,需要修改以下内容:
_h5ai/private/php/core/class-context.php
第85行

$encoded_parts[] = rawurlencode($part);

修改为

encoded_parts[] = rawurlencode(mb_convert_encoding($part, "UTF-8", "GBK"));

第94行

return Util::normalize_path($this->setup->get('ROOT_PATH') . '/' . rawurldecode($rel_href));

修改为

return Util::normalize_path($this->setup->get('ROOT_PATH') . '/' . mb_convert_encoding(rawurldecode($rel_href), "GBK", "UTF-8"));

至此h5ai的修改可以算完成了,不过h5ai还有一些其他的设置可以供我们修改。
配置文件是_h5ai/private/conf/options.json
passhash可以修改h5ai部署支持情况的查看页密码
将你的密码通过sha512加密替换原来的值保存即可。不修改那么在访问http://ip:port/_h5ai/public/index.php时密码为空,直接回车即可进入。
resources可以修改字体,谷歌域名最好替换为fonts.geekzu.org以提高加载速度
download控制是否允许下载(其实没什么意义hhh)
filter过滤功能
foldersize统计文件夹大小(似乎不同php版本会有差异,原因是32/64位的上限值不一样)
info是文件信息
l10n可以设置语言,默认en是英文,中文是zh-cn
preview-xxx预览xxx
search搜索功能
select多选功能,该功能不建议开启,因为打包其实很耗时和占用资源
tree树状图显示

nginx部分

到官网下载安装win版nginx:http://nginx.org/en/download.html
我选择的是稳定版,即nginx-1.14.2
解压至任意目录,然后编辑配置文件nginx-1.14.0/conf/nginx.conf
我的配置文件如下:

worker_processes 1;

error_log logs/error.log;

events {
    worker_connections 1024;
}

http {
    include mime.types;
    default_type application/octet-stream;
    server {
        listen 4545;
        listen[::]: 4545;
        server_name localhost;
        root C:/path/to/index;
        index index.html index.htm index.php /_h5ai/public/index.php;
        location~ \.php$ {
            fastcgi_pass localhost:4545;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include fastcgi_params;
        }

    }
}

有几处需要留意:
一是include mime.types;default_type application/octet-stream;不可少
二是root部分即你要列目录的文件夹的路径写法最好是左斜杠/
三是在root接着一行要补上index.php /_h5ai/public/index.php
四是location部分是php的部分,端口与前面一致即可,其余部分保持一致

php部分

前往官网下载win版php,地址是:https://windows.php.net/download/
我选择的是VC14 x64 Thread Safe (2018-Dec-06 20:43:56)这个版本
解压后最好将文件夹名命名为php
现在需要编辑配置文件php.ini,但文件夹中有php.ini-development和php.ini-production,一个用于开发环境一个用于生产环境。其实它俩内容是一样的hhh,所以随便复制一个在当前文件夹下并修改名字为php.ini即可,现在要修改php.ini文件:
在修改h5ai中class-context.php文件时用到了mb_convert_encoding这个函数,要在php中开启扩展。将

;extension=php_mbstring.dll

修改为

extension=php_mbstring.dll

运行服务

打开cmd并将目录切换至php文件夹,执行php-cgi.exe -b localhost:4545即可运行php服务,ip和端口请与自己的nginx.conf文件内容一致。然后再打开一个cmd,切换目录至nginx文件夹,执行start nginx即可运行。如果修改了配置文件,可以通过命令nginx -s reload重新载入即可
这个时候我们访问http://ip:port/_h5ai/public/index.php结果不出意外应当是如下图展示:
h5ai01.jpg
如果你没有更改_h5ai/private/conf/options.json的配置,那么此时密码为空,直接回车即可看到目前的配置状态。
h5ai02.jpg
Image thumbs和Use EXIF thumbs需要开启php中对应的扩展,即extension=php_gd2.dll和extension=php_exif.dll
去掉注释;后重新运行php-cgi服务即可。
其他部分如Movie thumbs如果需要到这里下载解压ffmpeg并配置环境变量即可;PDF thumbs则下载win版的ImageMagick即可,安装时好像会选添加变量的。其余的tar、zip、du我记得我是通过chocolatey很久之前安装的了...
这些设置OK后应该就是全绿了。
那么现在访问http://localhost:4545即可看到漂亮的列目录。
可能出现间歇性的504,不过我记得是php的参数问题来着,不过不影响使用。
h5ai03.png

标签:none

最后编辑于:2019/03/04 08:08

添加新评论