PHP $_SERVER['PATH_INFO'] 无法获取到内容怎么办?

飘逸的风12年前 (2014-12-09)程序11538

前段时间做的一个项目,放在Linux服务器下,出现了伪静态无法使用。

由于我对伪静态的判断,是根据$_SERVER['PATH_INFO'] 来决定的,某些Linux环境,无法获取$_SERVER['PATH_INFO'],所以导致伪静态的解析无法完成。

找了很多资料,终于找到了方法,其实很简单,一句话就可以解决:

//修正$_SERVER['PATH_INFO']无法获取
if ( !isset($_SERVER['PATH_INFO']) && isset($_SERVER['ORIG_PATH_INFO']) ) $_SERVER['PATH_INFO'] = $_SERVER['ORIG_PATH_INFO'];

扩展知识:$_SERVER['SCRIPT_NAME']、$_SERVER['PHP_SELF']和$_SERVER['ORIG_PATH_INFO'],这三个服务器全局变量都是获取当前脚本名的。主要看服务器当前环境了。那个存在的就获取那个。

所以对于上面的问题,我就是通过isset(),来进行判断的。OK,问题完美解决,是不是很简单呢?

相关文章

如何修改PHP的memory_limit限制

如何修改PHP的memory_limit限制

在运行PHP程序,通常会遇到“Fatal Error: Allowed memory size of xxxxxx bytes exhausted”的错误, 这个意味着PHP脚本使用了过多的内存,并超...

用PHP判断一个gif图片是不是动画

01 <?php 02 function IsAnimatedGif($filename) 03 { 04  &...

Javascript 正则表达式使用手册

一.正则表达式匹配常用语法 “+”字符:规定表达式字符出现一次或多次。 “*”字符:规定表达式字符出现零次或多次。 “?”字符:规定表达式字符出现零次或一次。 ^ 匹配的是字符的开头 ,匹配的...

38条PHP编码优化加速技巧[转]

1. 尽量采用大量的PHP内置函数。 2. echo 比 print 快。 3. 不要把方法细分得过多,仔细想想你真正打算重用的是哪些代码? 4. 在执行for循环之前确...

PHP给图片添加水印和生成缩略图函数

给图片添加水印: /************************************ 函数: watermark($bigimg, $smallimg, $coord = 1) 作用:...

可以让PHP编程事半功倍的类库

可以让PHP编程事半功倍的类库

在用php开发网站的时候,使用面向对象的方法确实可以提高代码复用率,减少代码冗余。而对初学者更友好的是,PHP开发网站所需要的大部分类库,网上都有十分优秀的类库存在了。作为一个程序猿当然不能重复制造轮...

评论列表

飘逸的风
12年前 (2014-12-09)

@王语双:哈哈,一般般啦!

王语双
12年前 (2014-12-09)

楼主技术精湛。

飘逸的风 回复:
@王语双:哈哈,一般般啦!
12年前 (2014-12-09)

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。