3种PHP-CGI

jackxiang 2010-6-16 09:48 | |
PHP CGI 有3种形式:

I.最强悍的FPM, 功能最强大, 只要配置php-fpm.conf即可;

fpm主页: http://php-fpm.org/
II.使用 spawn-fcgi, 启动命令: env – PHP_FCGI_CHILDREN=3 PHP_FCGI_MAX_REQUESTS=1000 spawn-fcgi -a 127.0.0.1 -p 9000 -u www-data -g www-data -f php-cgi -P /var/run/spawn-fcgi.pid

使用时, 把www-data替换成自己的用户名和群组名;

参数含义如下:
  -f <fcgiapp> 指定调用FastCGI的进程的执行程序位置,根据系统上所装的PHP的情况具体设置
  -a <addr> 绑定到地址addr
  -p <port> 绑定到端口port
  -s <path> 绑定到unix socket的路径path
  -C <childs> 指定产生的FastCGI的进程数,默认为5(仅用于PHP)
  -P <path> 指定产生的进程的PID文件路径
  -u和-g FastCGI使用什么身份(-u 用户 -g 用户组)运行,Ubuntu下可以使用www-data,其他的根据情况配置,如nobody、apache等
    然后我们可以将这行代码加入到/etc/rc.local文件底部,这样系统启动的时候也可以同时启动PHP的FastCGI进程。

III.直接启动php-cgi, 使用命令: php-cgi -b 127.0.0.1:9000

不过这时php-cgi是使用当前用户身份, 执行session等相关操作会出错, 如果web用户(如ubuntu下的www-data)是可以登录的, 则使用命令: su www-data -l -c “php-cgi -b 127.0.0.1:9000″

如果www-data不能登录(bash位/bin/false), 那么直接修改用户权限,

    sudo chown www-data:www-data which php-cgi
    sudo chmod u+s which php-cgi

BTW: 近段时间看ZF手册,开头有这么一句: 对于只包含有 PHP 代码的文件,结束标志(”?>”)是不允许存在的,PHP自身不需要(”?>”), 这样做, 可以防止它的末尾的被意外地注入相应。 晕倒~~ 我这会儿才知道有这茬

来源:http://mifunny.info/run-php-as-cgi-339.html

作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:https://jackxiang.com/post/3197/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!

评论列表
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]