当前位置:首页 » 编程语言 » fpmphp

fpmphp

发布时间: 2022-01-29 23:09:15

❶ 如何用php-fpm 执行php程序

第一步:确定php-fpm配置文件的路径,执行:
ps -aux | grep php-fpm

图中,我的是在 /soft/php7/etc/ 目录,在这个目录下有个php-fpm.d目录,打开这个目录后,找到www.conf文件,修改该文件里:
user = www
group = www

linux怎么查看php-fpm

保证空闲进程数最大值,如果空闲进程大于此值,此进行清理
pm.max_requests = 1000
#设置每个子进程重生之前服务的请求数. 对于可能存在内存泄漏的第三方模块来说是非常有用的.我觉得后盾人的视频还不错,你可以参考下,希望对你有用

❸ Linux系统下PHP-FPM的安装和配置教程

基本安装方法
安装工具包
$
sudo
apt-get
install
python-software-properties
添加ppa源
$
sudo
add-apt-repository
ppa:yola/php5
安装php5-fpm
sudo
apt-get
update
sudo
apt-get
install
php5-fpm
其它必要的软件安装接
sudo
apt-get
install
nginx
配置php-fpm
php-fpm的解析器是C/S结构,它的配置文件位于:
(1)/etc/php5/fpm/php-fpm.conf
(2)/etc/php5/fpm/pool.d/
一般没什么严格的配置的要求,或者说这块我还没有具体的研究每个配置参数的意义
我采用了tcp模式与fastcgi进程进行连接,因此我修改了tcp监听的地址和端口,修改了一下监视目录的名称,这里不做具体详细解释了,大家可以参考官方文档根据自己的需求进行配置
重启php5-fpm
安装提示错误解决
如果服务器的系统源中没有php5-fpm,安装的时候会提示:
Reading
state
information...
Done
E:
Couldn't
find
package
php5-fpm
解决办法
1.
添加非官方的源到
/etc/apt/sources.list
echo
"deb
http://ppa.launchpad.net/brianmercer/php/ubuntu
lucid
main"
>>
/etc/apt/sources.list
echo
"deb-src
http://ppa.launchpad.net/brianmercer/php/ubuntu
lucid
main"
>>
/etc/apt/sources.list
2.
安装php5-fpm
sudo
apt-get
update
&&
sudo
apt-get
install
php5-fpm
3.
安装php扩展组件
sudo
apt-get
install
php-apc
php5-curl
php5-gd
php5-imagick
php5-mysql\
php5-memcache
php5-memcached
php5-mcrypt
4.
启动php-fpm
sudo
/etc/init.d/php5-fpm
start
php.in位于/etc/php5/fpm/php.ini
php-fpm.ini位于/etc/php5/fpm/php5-fpm.conf
php-fpm启动时报错
PHP
Warning:
PHP
Startup:
Unable
to
load
dynamic
library
'/usr/lib/php5/20060613+lfs/gd.so'
-
/usr/lib/php5/20060613+lfs/gd.so:
undefined
symbol:
gdImageCreateFromJpeg
in
Unknown
on
line
0
locate
libgd
查看gd的动态库位置,如果/usr/local/lib/目录里有则
rm
/usr/local/lib/libgd*
重启php-fpm即可
去掉php-fpm启动时警告提示信息
PHP
Deprecated:
Comments
starting
with
'#'
are
deprecated
in
/etc/php5/fpm/conf.d/imagick.ini
on
line
1
in
Unknown
on
line
0
把#变成;即可去掉该提示

❹ php-fpm比php成为apache模块好在哪

概述
写这篇文章的是因为今天要Ubuntu下搭建LNMP环境,Nginx使用的是PHP-FPM,所以对Web服务器与PHP解释器的交互方式做了个整理。
众所周知,PHP是跨平台、跨服务器的语言,这也是它如此流行的原因之一。但是,很少有人知道PHP解释器可以以不同的方式运行在Web服务器中。PHP最常用的方式是以模块的方式(mod_php)运行在Apache中,也是Apache运行PHP的默认方式。但是在Nginx中,Nginx又使用的是PHP-FPM。
这篇文章就对这些概念做个介绍,如有不对的地方,请多多批评指教。
什么是PHP处理器(PHP handlers)?
首先需要记住的是,任何一种Web服务器(Apache、Nginx等)都是被设计成向用户发送html、图片等静态资源的,Web服务器自身并不能解释任何动态脚本(PHP、Python等)。PHP处理器就是用来解释Web应用中的PHP代码,并将它解释为HTML或其他静态资源,然后将解析的结果传给Web服务器,最后再由Web服务器发送给用户。大多数的Web服务器都不能解析PHP代码,因此它需要一个能解析PHP代码的程序,这就是PHP处理器。
mod_php
首先,来看一下以Apache模块方式运行PHP。mod_php现在在Linux各版本的软件仓库里都有,因此很容易被安装。
当PHP以模块的方式运行在Apache中时,PHP解释器被“内嵌”在Apache的进程里。Apache不会调用任何外部的PHP进程,因此这种方式使Apache与PHP能更好的通信。但是,当以这种方式运行PHP的时候,哪怕Apache提供的仅仅是静态的资源(如HTML),Apache的每个子进程也都会载入 mod_php,导致了比正常情况下更多的内存开销。
以这种方式运行的另一个缺点是,它仅能与Apache一起配合工作。另外,在小型的VPS和大型的网站中,这种方式也不合适,因为大型网站可能有很多静态资源,而这些静态资源是不需要PHP程序解释的。
优点:
1.易于安装和更新
2.容配置
缺点:
1.仅能与Apache一起工作
2.增加了Apache子进程内存开销
3.当更改php.ini文件后,需要重启Apache
FastCGI
FastCGI是交互程序与Web服务器通用的协议接口,是早期CGI(Common Gateway Interface)的一个变种。相对于CGI来说,FastCGI减少了和Web服务器交互的开销,同时一次可以处理更多的请求。
Apache可以以mod_fcgid的形式使用FastCGI。其他Web服务器,如lighttpd, nginx, Cherokee,甚至微软的IIS也都能使用FastCGI。使用FastCGI,可以同时设置多个版本的PHP,这在某些情况下非常有用。
FastCGI还利用suexec来支持不同的用户用自己的PHP的实例。这个特性对于在共享环境下提高安全性尤其重要。FastCGI在保证性能的同时,也减少了Web服务器的内存开销。
优点:
1.兼容多数Web服务器
2.比mod_php占内存小
3.更多的配置项,包括多版本PHP和suexec
缺点
1.配置复杂
2.不被大家所熟知
PHP-FPM(FastCGI Process Manager)
PHP-FPM是Web服务器使用PHP的一种最新方式,也是PHP FastCGI的另外一种实现。PHP-FPM对于运行在小型VPS和多服务器上的Web应用非常应用。同时,它也可以被兼容FastCGI的任何Web服务器所使用。
PHP-FPM使管理员能够优雅地停止和启动PHP工作进程而不丢失任何查询。这允许我们逐步更新配置和二进制,而不会损失任何查询。它还允许我们在发生任何意外破坏的情况下,紧急重启进程。
优点:
1.兼容多数Web服务器
2.比mod_php占内存小
3.更多的配置项,包括多版本PHP和suexec
缺点
1.配置复杂
2.不被大家所熟知
补充:Apache运行PHP的四种方式
mod_php (DSO,Dynamic Shared Object)
CGI
suPHP
FastCGI
总结
内容相对抽象,理解的不深,记录下留作以后参考~:)

❺ php fpm如何增加拓展

当服务器上PHP已经安装好,需要额外添加PHP扩展时怎么办?不需要重新安装PHP,有了phpize我们可以在原有的PHP基础之上直接安装扩展库。
这次编译仅仅只是单独编译PHP的扩展库,接下来将编译好的扩展库加入到现在运行的php中,不对现在运行的php重新编译,所以没有一点的影响。

下面我们演示安装xsl的扩展(不一定常用,仅做为一个范例)
做法一:
1.找到当前运行的php版本的源代码目录,如php-5.2.3。进入xsl扩展库目录。
$cd /home/pkgs/php-5.3.3/ext/xsl

2.调用phpize程序生成编译配置文件。
$/home/app/php5.3.3/bin/phpize

3.编译扩展库,分别执行下面的configure和make命令。
$./configure-with-php-config=/home/app/php5.3.3/bin/php-config
这一步执行通过后,再执行make命令,如果configure执行不通过,则查找错误原因。
$make
#make成功执行后,生成的扩展库文件在当前目录的 moles子目录下,
如/home/php-5.3.3/ext/curl/moles/xsl.so

4.配置php.ini文件
#将编译好的扩展库文件复制到PHP的扩展目录下,可通过查看phpinfo信息。。
$ cp /home/pkg/php-5.3.3/ext/xsl/moles/xsl.so /home/app/php5.3.3/lib/php/extensions/no-debug-non-zts-20090626

#在php.ini文件中找到设置扩展目录的位置,然后将扩展路径设置到php安装目录/extension/no-debug-non....目录下,并添加扩展库位置。
extension_dir /home/app/php5.3.3/lib/php/extensions/no-debug-non-zts-20090626”
extension=xsl.so
5.重启php,查看phpinfo信息,即可看到刚才添加进去的xsl扩展库。(如果有多个php-fpm进程的话,平滑重启主进程即可:kill -USR2 pid)

❻ 如何修改 php-fpm的运行用户

第一种:一个php-fpm主进程

这种方式比较简单,也只需要一个php-fpm自启动文件。

首先我们查看一下原php-fpm.conf的这个配置文件,分为两个部分,一个是global块,另外一个是自定义的块,配置文件里面称为pool池,默认叫“www”。在global池的上方,有一行注释了的“include=etc/fpm.d/*.conf”配置项,再通过www池的配置,我们可知可以通过不同的池来配置不同的用户,来达到多个用户运行php-fpm的目的,步骤如下:

4、删除前面的global块,或者注释掉。

5、修改[www]为其他,比如你[blog]。

6、配置[blog]池,主要修改两个地方:

6.1:第一处为运行的用户和用户组。

即将

12user = www3group = www4。

修改为

12user=nobody #具体用哪个用户视自己情况而定,我只做个示例3group=nobody4。

6.2:修改监听的端口或者socket:

即将:

12listen = 127.0.0.1:90003。

修改为:

12listen = /var/socket/php-fpm/blog.socket #php-fpm需要自己创建,当然也可以直接放在php-fpm目录下3。

修改成其他端口也是可以的,比如:listen = 127.0.0.1:9001。

7、到主配置文件 php-fpm.conf将“include=…”前面的注释去掉,让它去读取fpm.d目录下的配置文件。

8、到此第一种方案就修改完毕了,重新启动测试一下:

12service php-fpm reload3。

第二种:两个php-fpm主进程。

这种方法需要独立的配置文件和独立的自启动文件:

1、复制一份php-fpm.conf主配置文件。

12cp php-fpm.conf php-fpm-blog.conf3。

2、修改主配置文件。

12vim php-fpm-blog.conf3。

2.1:修改[global]下pid和error_log文件的路径。

修改 pid=run/php-fpm.pid 为 pid=run/php-fpm-blog.pid 。

修改 error_log = /log/php-fpm.log 为 error_log = /log/php-fpm-blog.log。

2.2:修改池的名称[www]为[blog],不过这个可以不用修改了,因为这里和原来的进程是独立的。

2.3:修改用户和用户组。

2.4:监听端口或socket文件。

以上两部可以按照第一种方案进行修改,这里就不再重复。

3、进入/etc/init.d目录,复制一份自启动文件。

12cp php-fpm php-fpm23。

4、修改自启动文件php-fpm2:

4.1:修改配置文件路径。

12php_fpm-CONF=${prefix}/etc/php-fpm.conf3。

12php_fpm-CONF=${prefix}/etc/php-fpm-blog.conf3。

这个路径就是刚才的主配置文件。

4.2:修改PID文件路径:

12php_fpm_PID=${prefix}/var/run/php-fpm.pid3。

为:

12php_fpm_PID=${prefix}/var/run/php-fpm-blog.pid3。

这个路径要和主配置文件中的pid路径一致。

5、修改完毕后添加自动启动。

12chkconfig --add php-fpm23chkconfig --level 2345 php-fpm2 on4。

6、启动服务。

❼ 如何查找php-fpm.conf文件

这个需要安装的,就是在你./configure的时候的要带上php-fpm参数,安装的时候才会有。

查找的话就用find啊,或者使用locate php-fpm,使用locate前最好先执行updatedb一下,这是更新locate的数据库,很快很方便。

如果你安装的时候安装了php-fpm的话应该是在这个目录/usr/local/php-7.0.11/sbin

❽ php-fpm 调用哪个php

您好,我来为您解答:
PHP-FPM是一个PHP FastCGI管理器,是只用于PHP的。
PHP-FPM其实是PHP源代码的一个补丁,旨在将FastCGI进程管理整合进PHP包中。必须将它patch到你的PHP源代码中,在编译安装PHP后才可以使用。
新版PHP已经集成php-fpm了,不再是第三方的包了,推荐使用。PHP-FPM提供了更好的PHP进程管理方式,可以有效控制内存和进程、可以平滑重载PHP配置,比spawn-fcgi具有更多优点,所以被PHP官方收录了。在./configure的时候带 –enable-fpm参数即可开启PHP-FPM,其它参数都是配置php的,转载,仅供参考。
如果我的回答没能帮助您,请继续追问。

❾ nginx的php-fpm在哪儿

php-fpm是安装php后自带的,与nginx无关
nginx没有php-fpm,所以php-fpm不再nginx中
请到php官网下载php的二进制代码进行编译,编译后即可看到php-fpm

热点内容
怎么选女孩子的配置 发布:2025-01-11 09:47:33 浏览:670
python获取header 发布:2025-01-11 09:47:32 浏览:492
iis7上传大小 发布:2025-01-11 09:41:38 浏览:507
拍摄脚本是什么工作 发布:2025-01-11 09:39:12 浏览:785
魅族安卓8什么时候更新 发布:2025-01-11 09:27:58 浏览:362
电脑板我的世界登录密码多少 发布:2025-01-11 09:15:43 浏览:284
编译原理和是非终结符吗 发布:2025-01-11 09:15:42 浏览:252
网络调试助手源码 发布:2025-01-11 09:14:24 浏览:117
什么车带导航最低配置 发布:2025-01-11 09:04:42 浏览:930
python导入excel数据 发布:2025-01-11 08:52:49 浏览:570