php php-fpm安装记录
转载自http://hi.baidu.com/snailzzz/blog/item/d61de8452e477d2dcefca3b0.html
?
?
snail_run整理
什么是cgi
???????CGI全称是“公共网关接口”(Common Gateway Interface),HTTP服务器与你的或其它机器上的程序进行“交谈”的一种工具,其程序须运行在网络服务器上。
???????????CGI可以用任何一种语言编写,只要这种语言具有标准输入、输出和环境变量。
?????????如php,perl,tcl等.(以上转自:?http://baike.baidu.com/view/32614.htm)
什么是fastcgi
FastCGI?像是一个常驻?(long-live)?型的?CGI,它可以一直执行着,只要激活后,不会每次?都要花费时间去?fork?一次?(这是?CGI?最为人诟病的?fork-and-execute?模式)。它还支持分布式的运算,?即?FastCGI?程序可以在网站服务器以外的主机上执行并且接受来自其它网站服务器来的请求。
?????????????????????????????????????以上转自:http://baike.baidu.com/view/641394.htm
?
fastcgi与cgi特点
1.???????如CGI,FastCGI也具有语言无关性.
2.???????如CGI, FastCGI在进程中的应用程序,独立于核心web服务器运行,提供了一个比API更安全的环境。(APIs把应用程序的代码与核心的web服务器链接在一起,这意味着在一个错误的API的应用程序可能会损坏其他应用程序或核心服务器;?恶意的API的应用程序代码甚至可以窃取另一个应用程序或核心服务器的密钥。)
3.???????虽然FastCGI不能一夜之间像cgi那样普及,但fastcgi的开发人员致力于把fastcgi作为一个开放性的标准进行传播. FastCGI技术目前支持语言有:C/C++、Java、Perl、Tcl、Python、SmallTalk、Ruby等。相关模块在Apache, ISS, Lighttpd等流行的服务器上也是可用的。
4.???????如CGI,FastCGI的不依赖于任何Web服务器的内部架构,因此即使服务器技术的变化, FastCGI依然稳定不变。
以上摘自: http://www.fastcgi.com/drupal/node/2
?
php-fpm
????????
?
?
?
php-fpm文档中文翻译
?
http://syre.blogbus.com/logs/20092011.html
?
PHP-FPM之新中文文档
转自:http://www.mikale.org/html/2009/03/99.html
恩,php-fpm是一个好东西,最佳配合平台是nginx,只有它能实现优化上传的功能.机制原理知道了,但是为什么优化了上传,想不太清 楚,保存到文件之后读入,跟fast CGI?协议中读取有这么大的性能差别?我想应该跟mysqlnd一样,是节约了内存吧,而不是增加了性能..传递文件名比传递fast cgi的request body,更加节约内存,速度的话,我不认为在内存上操作1k比起操作10M的数据有太大的差别…
神仙做了新的翻译,原因看文档了.
php-fpm改造SAPI,让PHP守护进程化,从而很多功能就得以实现.
有一个主的PHP进程为守护进程,然后可以监控子PHP进程..增加的大部分特性都基于这个原理.
?
php-fpm?与?spawn-cgi?对比测试
转自:http://www.cyask.com/question.php?qid=441
?
php-fpm的使用非常方便,配置都是在php-fpm.ini的文件内
而启动,重启都可以从php/sbin/php-fpm中进行
更?方便的是修改php.ini后可以直接使用php-fpm reload进行加载
无需杀掉进程就可以完成php.ini的修改加载
结果显?示使用php-fpm可以使php有不小的性能提升
php-fpm控制的进程.cpu回收的速度比较慢.内存分配的很均匀
而spawn- cgi控制的进程CPU下降的很快.而内存分配的比较不均匀.
有很多进程似乎未分配到,而另外一些却占用很高.
可能是由于进程任务分配的?不均匀导致的.而这也导致了总体响应速度的下降
而php-fpm合理的分配.导致总体响应的提到以及任务的平均
?
?
PHP FastCGI?进程管理器: PHP-FPM
http://www.dbanotes.net/web/php_fastcgi_phpfpm.html
php-fpm与spawn-fcgi?比较
http://none.at/phpfm/docs/current_php_fastcgi_problems_en.html
?
http://php-fpm.org/
http://imcat.in/
?
?
安装记录
?
参考:张晏http://blog.s135.com/nginx_php_v6/
?
php fastcgi
wget?http://blog.s135.com/soft/linux/nginx_php/phpfpm/php-5.2.13-fpm-0.5.13.diff.gz
?
wget?http://www.php.net/get/php-5.2.13.tar.gz/from/this/mirror
?
tar zxvf php-5.2.13.tar.gz
gzip -cd php-5.2.13-fpm-0.5.13.diff.gz | patch -d php-5.2.13 -p1???
#注:把fpm以打补丁的方式放到php安装目录。据官方http://php-fpm.org/
消息php-fpm已经放到php的核心代码的svn中,相信不久就不用以打补丁安装了
cd php-5.2.13/
?
./configure --enable-fastcgi --prefix=/data1/server/php-cgi --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --enable-mbstring --with-mysql --with-mysqli --with-pdo-mysql --enable-sockets --with-curl --with-ttf --with-libxml-dir --with-config-file-path=/data1/server/php-cgi/etc --with-zlib --enable-exif --enable-ftp --with-xmlrpc --enable-zip --with-iconv-dir --with-libxml-dir --with-mcrypt --with-tidy --with-tidy --enable-fpm --enable-force-cgi-redirect
?
?
make && make install
cp php.ini-dist /data1/server/php-cgi/etc/php.ini
?
ulimit -SHn 65535
/data1/server/php-cgi/sbin/php-fpm start
出现错误
[ERROR] fpm_unix_conf_wp(), line 124: please specify user and group other than root, pool 'default'
注释取消掉
./etc/php-fpm.conf中的
?
?
?tail -f /data1/server/php-cgi/logs/php-fpm.log

php把负数转为正整数的方法:1、使用abs()函数将负数转为正数,使用intval()函数对正数取整,转为正整数,语法“intval(abs($number))”;2、利用“~”位运算符将负数取反加一,语法“~$number + 1”。

实现方法:1、使用“sleep(延迟秒数)”语句,可延迟执行函数若干秒;2、使用“time_nanosleep(延迟秒数,延迟纳秒数)”语句,可延迟执行函数若干秒和纳秒;3、使用“time_sleep_until(time()+7)”语句。

php字符串有下标。在PHP中,下标不仅可以应用于数组和对象,还可应用于字符串,利用字符串的下标和中括号“[]”可以访问指定索引位置的字符,并对该字符进行读写,语法“字符串名[下标值]”;字符串的下标值(索引值)只能是整数类型,起始值为0。

php除以100保留两位小数的方法:1、利用“/”运算符进行除法运算,语法“数值 / 100”;2、使用“number_format(除法结果, 2)”或“sprintf("%.2f",除法结果)”语句进行四舍五入的处理值,并保留两位小数。

在php中,可以使用substr()函数来读取字符串后几个字符,只需要将该函数的第二个参数设置为负值,第三个参数省略即可;语法为“substr(字符串,-n)”,表示读取从字符串结尾处向前数第n个字符开始,直到字符串结尾的全部字符。

判断方法:1、使用“strtotime("年-月-日")”语句将给定的年月日转换为时间戳格式;2、用“date("z",时间戳)+1”语句计算指定时间戳是一年的第几天。date()返回的天数是从0开始计算的,因此真实天数需要在此基础上加1。

方法:1、用“str_replace(" ","其他字符",$str)”语句,可将nbsp符替换为其他字符;2、用“preg_replace("/(\s|\ \;||\xc2\xa0)/","其他字符",$str)”语句。

查找方法:1、用strpos(),语法“strpos("字符串值","查找子串")+1”;2、用stripos(),语法“strpos("字符串值","查找子串")+1”。因为字符串是从0开始计数的,因此两个函数获取的位置需要进行加1处理。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

Dreamweaver Mac版
视觉化网页开发工具

DVWA
Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

Dreamweaver CS6
视觉化网页开发工具

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能

SublimeText3 Linux新版
SublimeText3 Linux最新版