Unraid-我自己的可道云-奇思妙想的后续,99%的人都没想过呦!
嗯,推荐我朋友预览了我的可道云文章,他兴奋的部署了,然后就是熟悉的,我的为什么和你的不一样?
他的是这样子的,提示不支持某某功能需要手动去开通:
而我的是这样子的:
瞬间我非常尴尬,原因是,其实我用的是一个现成docker,我的kodbox其实是这样子的:
kodbox2是今天给大家展示的那个,kodbox是我使用了别人现成的docker镜像。看着他怀疑的眼神,我顿时觉得小鹿乱撞,得赶紧想办法把这大黑锅给甩了,官方既然已经给出如何设置,那我就照着给他设置一下子,让他死了栽赃陷害这条心。
更改PHP设置
官方说明非常清楚,
默认情况下,nginx和apache是不支持path_info的,我们需要做些配置让它支持。
首先需要启用cgi.fix_pathinfo——修改php配置文件php.ini,将;cgi.fix_pathinfo=1前面的冒号;去掉,重启php服务。然后再配置Nginx或Apache。
真的让人心碎,php是内置在nginx docker内部的,手动放置或修改在docker内部的文件,都会在每次重启时被清除和初始化掉,你说怎么办?
最直接的想法就是:那我们把php设置文件所在的文件夹移动到docker外面来,然后指向它!这里我们需要解决几个问题,因为我们是小白啊:
php.ini文件在哪里
如何移动
对于大神,其实这压根不是问题,人家会直接重新封一个docker出来,我是小白我自豪,我们需要用小白的方法去解决它,一个很傻的方法。
1.我们百度,linux查找特定文件,来解决定位问题:
经搜索,我们需要使用命令 find / -name "php.ini"
2.我们继续百度,linux拷贝文件夹,来解决复制问题:#因为映射的是目录,我们需要把php.ini文件夹整体拷贝出来,并最好保持权限不变。根据搜索结果,我们需要使用cp -a指令。
3.开始动手,请大家牢牢记得上次教给大家的 ls-cd-ls 大法。
建议大家如果抄作业的话,像我一样重新建立一次kodbox镜像,主要是这里有改动:加了一层目录,这样子,可以把将来映射出来的php和其他文件区分开。毕竟这玩意是我们贴上去的狗屁膏药不是。后续安装步骤不讲了,和上一篇一样,就是路径再加个config罢了。
另外还有个小问题,还是说一下吧,kodbox自带adminer,数据库我们只要给它设置好ip,端口,用户名密码就行,它其实会自己调用adminer去建数据库的。这个小点,有时候,非常难理解,所以上一篇教程中直接跳过了,并不是我不知道,说的多了,会给一些朋友们造成混乱。
环境搭好了,进入docker 控制台,输入 find / -name "php.ini"
红框内我输入了四次命令,寻找并查看了根目录结构,文件文字,文件所在文件夹清单。
根目录下的config 文件夹, 我们已经映射到了unraid /mnt/user/appdata/kodbox2/config/ 下,我们把php7这个文件夹拷贝过去,根据百度结果,我们用下面的命令,完成后顺便查看一下结果:
cp -a /etc/php7 /config/php7
下面,善于思考的朋友可能会有疑问,下面,应该就是把/etc/php7 映射到unraid 的/mnt/user/appdata/kodbox2/php7/ 下面,这个选项是github上没有提到过的,会生效吗?有想法,我们就来试一试,
出现大量错误提示,提示无法打开php.ini。
继续,我们把kobbox、config/php7 文件夹,拷贝到kobbox目录下面去,重启docker。#这一步随意,看你善于用哪种方法,filebrowser,ftp客户端,还是cp命令都可以。后续为了避免权限问题,我本来用filebrowser来修改;相信还在使用unraid的朋友,应该基本上都部署了这个。但是刚才准备提交文章时候,想到,既然我们已经安装的可道云,那么为什么不直接在可道云里面修改?
找到php.ini了, 善于思考的朋友们自然又会产生一个疑问,这个php7是docker内部的,还是unraid上的呢?这个非常容易验证,我们在php7文件夹下新建一个文件,然后到unraid里面去找,看他是否存在。
那么我们就该翻回kodbox官方说明,来进行了。官方页面在这里
1.我们打开php.ini文件,ctrl+f,打开搜索,输入cgi.fix_pathinfo=1查找,删掉前面的分号 ;
2.更改nginx设置 #尽量备份一下这个文件,防止修改出问题。高能预警高能预警:不要把备份文件放在这个文件夹内,切记。
3.打开这个文件,像这样修改:
重启docker,显示正常了,我们来试试连接下看看,后面太简单了,我就不再做说明了。
搞定了。
总结,这个方法看起来是不是超级,怎么说,笨重。还是我一直说的,我讲的并不是让大家跟着我这么做,这么用。我个人不喜欢提那些高大上的理论,提一键脚本,在这里我们就从每一次修改参数,看变化,验证变化,来给学习过程一些趣味和成就感,可能折腾到最后,我们依旧不能达到预期的完美目标,但是每一步都能有明确的收获和喜悦,这也是相当好的。





















AndroidOL
校验提示文案
云栖隐者
校验提示文案
suckmilk
另外,这个文章只是为了给大家一个思考,其实,docker terminal,修改etc/php7/php.ini文件也是可以的,这个又是一个关于docker很难细说的问题,你甚至几乎百度不到相关文章。所以为了表述方便,我当时也是一刀切了。
放在U盘 \config\plugins\dockerMan\templates-user 目录下,然后用这个模板就是了。
链接:去看看
提取码:tu56
校验提示文案
cnw56
校验提示文案
tane274
校验提示文案
tane274
校验提示文案
云栖隐者
校验提示文案
AndroidOL
校验提示文案
cnw56
校验提示文案
suckmilk
另外,这个文章只是为了给大家一个思考,其实,docker terminal,修改etc/php7/php.ini文件也是可以的,这个又是一个关于docker很难细说的问题,你甚至几乎百度不到相关文章。所以为了表述方便,我当时也是一刀切了。
放在U盘 \config\plugins\dockerMan\templates-user 目录下,然后用这个模板就是了。
链接:去看看
提取码:tu56
校验提示文案