Chinaunix首页 | 论坛 | 博客
  • 博客访问: 211374
  • 博文数量: 109
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 890
  • 用 户 组: 普通用户
  • 注册时间: 2014-03-24 17:06
文章分类

全部博文(109)

文章存档

2015年(1)

2014年(108)

分类: LINUX

2014-08-14 11:44:19

方法1:在Nginx配置文件中加入

fastcgi_param PHP_ADMIN_VALUE “[参数名]=[值]“;
例如:

#fastcgi_param PHP_VALUE sessions.save_path=/home/www/sessions/
fastcgi_param PHP_ADMIN_VALUE “open_basedir=/usr/local/nginx/html”;

优点:
可以设置变量,就可以写一个在公共文件里面include过来就行了,
比如: fastcgi_param PHP_ADMIN_VALUE “open_basedir=$host”;

缺点:
$_SERVER里面会多出这个值来,
$_SERVER['PHP_ADMIN_VALUE']=”open_basedir=/home/www/docs”

方法2:在php.ini中加入:

[HOST=]
open_basedir=/usr/local/nginx/html:/tmp
[PATH=/usr/local/nginx/html]
open_basedir=/usr/local/nginx/html:/tmp

优点:
这种方式应该是官方在5.3里面默认提供的,也不会出现多个$_SERVER['PHP_ADMIN_VALUE']值。

缺点:
每添加一个站都要去修改下php.ini,比较麻烦,而且网站多了,就是是一大堆。

方法3:修改php.ini的user_ini.filename

这种个人暂未尝试.
方法4:修改fastcgi.conf(fcgi.conf),要5.3或以上,5.2好像不成功。
增加下面这句:

fastcgi_param  PHP_VALUE  "open_basedir=$document_root:/tmp/";  


方法5:修改php源代码

php5.3同样可以使用php5.2的方式修改源代码.

优点:
设置好了,就和以前一样的使用,不需要再添加任何代码.

缺点:
不利于php升级.

个人推荐方法1和方法3,应为经常修改php.ini不是一个好的方法,至于nginx的配置文件可以用include所以不必修改主配置文件。

最后建议大家把上传目录、session目录也隔离掉,防止包含这2个目录的文件,写shell….

阅读(1450) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~