当tp5.0遇上nginx

想要隐藏入口文件,

是需要改配置文件的。

官网明确告知了。

但是如果配置了站点域名,一定要改vhost.conf里面的内容

添加在你对应的站点域名的location里面

  location / { // …..省略部分代码
   if (!-e $request_filename) {
   rewrite  ^(.*)$  /index.php?s=/$1  last;
   break;
    }
 }

这样添加就可以了。

如果白屏,开启php-ini里面的display_errors,还不报错的话

别问

问就是你可能没return视图(/笑哭 ,我刚才还因为这个看了好久的open_basedir

美滋滋,入口文件隐藏成功

接下来可能会遇到nginx报错:

could not build the server_names_hash, you should increase server_names_hash_bucket_size: 32

emmmm , 不太清楚为啥我这个这么低,在nginx的配置文件里面的http{}里面加上一句:

server_names_hash_bucket_size 512;

nginx就可以正常运行了。

PS:我用得是phpstudy最新版8,(就是那个跟宝塔很像的东东)

是不是比之前的版本颜值高了很多?之前测试版的时候我也一直在坑,现在出了正式版了。追求颜值的宝宝快去官网戳hhh。

emmmm,然后这个版本好像不怎么支持站点域名配置里面存在“-”的符号,因为我有个英文后台的tp5,我就把文件夹名字写成“admin-en”,但是添加站点域名之后,vhoist.conf里面报错了,具体啥问题我忘记了,说是127.0.0.1那行啥啥啥的。但是我把短杠去掉之后就正常了。

解决了这两个问题,心里美滋滋,但是命运不会这么放过我233333。

得知项目需要放在linux主机上,倒吸一口凉皮...这意味着我需要更改入口文件的位置,以及config.php里面的路径

不知道你们遇到过这种情况没有,就是更改config.php里面的模板替换内容的时候前端不会马上显示新的路径,清除缓存删掉runtime也不好使,但是,我只要把html上其中一个比如说“__CSS__”改成“_CSS__”,然后刷新,就会看到路径报错,因为html上原本替换路径的不存在了,“_CSS__”就变成了正儿八经的路径,再改回去,就会看到路径正常了。

经过一番苦战,终于把路径都弄好了,美滋滋地准备去看后台,结果????

验证码图片破图了????

因为以前中过招,首先怀疑是GD库没开,但是检查发现gd2的扩展是开了的,并且别的项目在同样的大根目录下,同样是php7.0+nginx ,没有修改入口文件位置的项目就能看到正常的验证码图。

所以验证码破图肯定是跟我改了入口文件位置有关系,因为破图页面上也不报错,dump出来也能看到png是写出来了的,应该是路径的问题?

百度说加个ob_clean()

这个方法我昨天就尝试过

无效

但是今天尝试

成功了?????????

强刷了几次

然后验证码华丽丽的出现了。。。。

昨天我用的是假的函数????

可怕


2019/7/30 今天我反应过来,不是ob_clean没用,而是我加错了位置,应该加在验证码主方法index的开头

然后然后,因为改了入口文件的位置,其实有很多路径就需要改。

比方说我用的umediter,上传图片报错了,修改的地方在我上一篇umeditor使用笔记有写,应该是要改回调回来的图片路径。

技术最菜,头发最少
原文地址:https://www.cnblogs.com/gushengyan/p/11220870.html