VPS侦探论坛

 找回密码
 注册
查看: 6110|回复: 5

大家来帮帮忙啊,lnmp遇到了一个大困难

[复制链接]
发表于 2014-12-11 14:25:33 | 显示全部楼层 |阅读模式

LNMP默认不支持pathinfo,所以很多框架不能运行在lnmp上,例如thinkphp。

当然可以手动配置pathinfo,我配置好之后,确实可以访问了。但是在tp中有一个常量是__ROOT__指向应用的根目录,但是上传到nginx服务器后,这个常量就指向了其他位置,代码是相同的,指向位置却发生了变化。我感觉应该是nginx服务器配置的问题。

军哥能知道是什么毛病吗?我弄了一天了,实在弄不了。军哥帮帮忙啊!

如果实在不行就只能换成lamp了,但是lnmp能转成lamp么 还是要重新做服务器啊?醉了啊!
美国VPS推荐: 遨游主机LinodeLOCVPS主机云搬瓦工80VPSVultr美国VPS主机中国VPS推荐: 阿里云腾讯云。LNMP付费服务(代装/问题排查)QQ 503228080
发表于 2014-12-12 14:57:37 | 显示全部楼层


没有现成的脚本可以使用,需要自己弄
Linux下Nginx+MySQL+PHP自动安装工具:https://lnmp.org
 楼主| 发表于 2014-12-12 15:45:13 | 显示全部楼层

回复 2# 的帖子


晕死了  查了很多资料  发现还是pathinfo的配置问题。服务器的预定义变量$_SERVER取得的值不对导致的。军哥知道pathinfo应该怎么配置吗?我在网上查资料配置的pathinfo就出错了,修改了N次了
美国VPS推荐: 遨游主机LinodeLOCVPS主机云搬瓦工80VPSVultr美国VPS主机中国VPS推荐: 阿里云腾讯云。LNMP付费服务(代装/问题排查)QQ 503228080
发表于 2014-12-12 16:58:30 | 显示全部楼层



lnmp 1.1的话可以看一下http://lnmp.org/changelog.html 这个,里面有启用的方法
Linux下Nginx+MySQL+PHP自动安装工具:https://lnmp.org
 楼主| 发表于 2014-12-12 17:29:11 | 显示全部楼层

回复 4# 的帖子


军哥 ,发现lnmp的一个问题啊,不知道算不算,弄了两天才弄好这个毛病。

现在lnmp的php.ini中有一项配置是cgi.fix_pathinfo=0,也就是默认开启的。假如不关闭的话,它就会触发一个PHP逻辑

    if (script_path_translated &&
         (script_path_translated_len = strlen(script_path_translated)) > 0 &&
         (script_path_translated[script_path_translated_len-1] == '/' ||
    ....//以下省略.

也就是说,我们在取服务器变量$_SERVER的时候会取得一个错误的值,因为这个PHP逻辑会把xxx.jpg/index.php的xxx.jpg当做SCRIPT_FILENAME,而把index.php当做PATH_INFO.

另外在配置pathinfo的时候,按照你给的pathinfo的配置方法,做完之后是不能支持thinkphp的。军哥你看一下吧,我感觉cgi.fix_pathinfo=1默认关闭的比较好。假如有人恶意上传php脚本,构造这样的请求呢。。

[ 本帖最后由 nevermore 于 2014-12-12 17:32 编辑 ]

军哥运维代购:http://shop63846532.taobao.com/

发表于 2014-12-12 17:48:21 | 显示全部楼层

回复 5# 的帖子


1是开启0是关闭
http://www.laruence.com/2010/05/20/1495.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|VPS侦探 ( 鲁ICP备16040043号-1 )

GMT+8, 2024-5-17 12:16 , Processed in 0.026836 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表