欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

3种PHP-CGI

程序员文章站 2022-06-09 11:46:22
...
PHP CGI 有3种形式: 最强悍的FPM, 功能最强大, 只要配置php-fpm.conf即可;

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

直接启动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

相关标签: 3种PHP-CGI