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替换成自己的用户名和群组名;
不过这时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
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
-a
-p
-s
-C
-P
-u和-g FastCGI使用什么身份(-u 用户 -g 用户组)运行,Ubuntu下可以使用www-data,其他的根据情况配置,如nobody、apache等
然后我们可以将这行代码加入到/etc/rc.local文件底部,这样系统启动的时候也可以同时启动PHP的FastCGI进程。
不过这时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
上一篇: 如何得到新浪微博的热门话题前十
推荐阅读
-
php环境配置之CGI、FastCGI、PHP-CGI、PHP-FPM、Spawn-FCGI比较?
-
PHP-CGI进程CPU 100% 与 file_get_contents 函数的关系分析
-
php提供的sapi有哪些?CGI、FastCGI、php-fpm、php-cgi解释
-
什么是CGI、FastCGI、PHP-CGI、PHP-FPM、Spawn-FCGI?
-
php超时 - php-cgi调用外部程序超时,但php在命令行模式下能完整运行外部程序
-
概念了解:CGI,FastCGI,PHP-CGI与PHP-FPM_PHP教程
-
[转] 什么是CGI、FastCGI、PHP-CGI、PHP-FPM、Spawn-FCGI?
-
phpstorm php-cgi not found
-
3种PHP-CGI
-
window下如何查看php-cgi进程正在执行的php文件