fcgi与php的简单介绍

本文目录一览:

PHP-Fcgi下PHP的执行时间设置方法

昨天,一个程序需要导出500条数据,结果发现到150条是,Nginx报出504

Gateway

Timeout错误,原来PHP-Fcgi下的设置执行时间与isapi的不同

一般情况下设置PHP脚本执行超时的时间

一、在php.ini里面设置

max_execution_time

=

1800;

二、通过PHP的ini_set

函数设置

ini_set(“max_execution_time”,

“1800”);

三、通过set_time_limit

函数设置

set_time_limit(1800);

PHP-Fcgi下PHP的执行时间设置方法

昨天,一个程序需要导出500条数据,结果发现到150条是,Nginx报出504

Gateway

Timeout错误

经观察,发现大约30秒时超时,php.ini中执行时间配置已经是300秒:

复制代码

代码如下:

max_execution_time

=

300

再查nginx的相关配置,无果。

写了一个php的测试页再测

复制代码

代码如下:

echo

‘aaa’;

set_time_limit(0);

sleep(40);

echo

‘aa’;

依然超时,可以确定set_time_limit这个函数没生效。

再查php-fcgi的配置php-fpm.conf,下边这个设置疑似有问题

复制代码

代码如下:

VALUE

name=”request_terminate_timeout”30s/VALUE

查官方文档:

复制代码

代码如下:

request_terminate_timeout

The

timeout

(in

seconds)

for

serving

a

single

request

after

which

the

worker

process

will

be

terminated.

Should

be

used

when

‘max_execution_time’

ini

option

does

not

stop

script

execution

for

some

reason.

Default:

“5s”.

Note:

‘0s’

means

‘off’

大意是php中set_time_limit设置的时间内如果php还没执行完,则走此处的配置,也就是request_terminate_timeout=30秒。

先把这个参数改的和php中set_time_limit值一样,都是300秒,还不行,不理解为什么,如果高手知道请赐教。

最终把request_terminate_timeout关闭,程序可以正常执行了,问题解决

复制代码

代码如下:

VALUE

name=”request_terminate_timeout”0s/VALUE

补充:如果前端的nginx服务器使用了upstream负载均衡,那个负载均衡配置中以下几个参数也需要相应修改

复制代码

代码如下:

proxy_connect_timeout

300s;

proxy_send_timeout

300s;

proxy_read_timeout

300s;

使用spawn-fcgi,怎么增加php的进程数量

spawn-fcgi这个包原来是属于Lighttpd里的,现在已经可以独立出来使用。原先我看一些文档,在VPS上配置nginx时使用spawn-fcgi包作为FastCGI支持模块(当然还有其他的支持模块,如php-fpm包),后来因为配置nginx时老出现502错误,就暂时使用apache了。把nginx自启动关闭,把 apache启动后,打开网页发现速度比之前快了很多!我开始以为是网络一时加速而已,后来过了几天也发现很快。感觉快了最少两倍以上。(没有用工具严格测试过)后来一想,是apache的运行模式改用了FastCGI模式,速度成倍提高。刚才重新配置测试了一次,果然如此!

方法:系统平台是CentOS 5,前提是LAMP已配置好,运行正常。

1、32位:rpm -ivh entos.alt.ru/repository/centos/5/i386/spawn-fcgi-1.6.3-1.el5.i386.rpm

64位:rpm -ivh htttos.alt.ru/repository/centos/5/x86_64/spawn-fcgi-1.6.3-1.el5.x86_64.rpm

(也可以去官方下载源码包编译安装:h)

2、使用spawn-fcgi来控制php-cgi的FastCGI进程:

/usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -C 5 -u apache -g apache -f /usr/bin/php-cgi

参数含义如下:

-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 用户组)运行,CentOS下可以使用apache用户,其他的根据情况配置,如nobody、www-data等。

4. 将这行代码加入到/etc/rc.local文件底部,这样系统启动的时候就可以同时启动PHP的FastCGI进程。

php5.4.6 (fpm-fcgi)指的什么意思?偶是菜鸟~求指点

就个人的使用体验,如果你迷惑于PHP安装版本的选择,可以直接安装PHP整合安装包,比如:XAMPP/ WampServer.

以下是相关资料解释:

PHP-FPM是一个PHP FastCGI管理器,是只用于PHP的,可以在 下载得到。

PHP-FPM其实是PHP源代码的一个补丁,旨在将FastCGI进程管理整合进PHP包中。必须将它patch到你的PHP源代码中,在编译安装PHP后才可以使用。

现在我们可以在最新的PHP 5.3.2的源码树里下载得到直接整合了PHP-FPM的分支,据说下个版本会融合进PHP的主分支去。相对Spawn-FCGI,PHP-FPM在CPU和内存方面的控制都更胜一筹,而且前者很容易崩溃,必须用crontab进行监控,而PHP-FPM则没有这种烦恼。

PHP5.3.3已经集成php-fpm了,不再是第三方的包了。PHP-FPM提供了更好的PHP进程管理方式,可以有效控制内存和进程、可以平滑重载PHP配置,比spawn-fcgi具有更多有点,所以被PHP官方收录了。在./configure的时候带 –enable-fpm参数即可开启PHP-FPM。

什么是CGI,FastCGI,PHP-CGI,PHP-FPM,Spawn-FCGI

您好,很高兴为您解答。

CGI(通用网关接口)

CGI全称是“公共网关接口”(Common Gateway Interface),HTTP服务器与你的或其它机器上的程序进行“交谈”的一种工具,其程序须运行在网络服务器上。 CGI可以用任何一种语言编写,只要这种语言具有标准输入、输出和环境变量。如php,perl,tcl等。

FastCGI像是一个常驻(long-live)型的CGI,它可以一直执行着,只要激活后,不会每次都要花费时间去fork一次(这是CGI最为人诟病的fork-and-execute 模式)。它还支持分布式的运算, 即 FastCGI 程序可以在网站服务器以外的主机上执行并且接受来自其它网站服务器来的请求。

FastCGI是语言无关的、可伸缩架构的CGI开放扩展,其主要行为是将CGI解释器进程保持在内存中并因此获得较高的性能。众所周知,CGI解释器的反复加载是CGI性能低下的主要原因,如果CGI解释器保持在内存中并接受FastCGI进程管理器调度,则可以提供良好的性能、伸缩性、Fail- Over特性等等。

PHP-CGI是PHP自带的FastCGI管理器。

PHP-FPM是一个PHPFastCGI管理器,是只用于PHP的。

spawn-fcgi是一个通用的FastCGI管理服务器

她是lighttpd中的一部份,但目前已经单独成为一个项目,最新的lighttpd没有这一块,但可以在以前版本中找到她,在lighttpd-1.4.15中就有

如若满意,请点击右侧【采纳答案】,如若还有问题,请点击【追问】

希望我的回答对您有所帮助,望采纳!

php-fcgi.sock怎么增加

首先nignx与php-fpm的连接是通过php-fcgi.sock进行的,如果php-fcgi.sock出现问题将出现502BAD GATWAY问题,也就是无法连接通信。

php-fcgi.sock当php启动时产生,关闭时清除。虽然在php启动时给php-fcgi.sock 755权限,但是重启php时还是会变成rw-rw–权限,并且user、group都是root。

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/184024.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝的头像小蓝
上一篇 2024-11-25 05:51
下一篇 2024-11-25 05:51

相关推荐

  • PHP和Python哪个好找工作?

    PHP和Python都是非常流行的编程语言,它们被广泛应用于不同领域的开发中。但是,在考虑择业方向的时候,很多人都会有一个问题:PHP和Python哪个好找工作?这篇文章将从多个方…

    编程 2025-04-29
  • Python简单数学计算

    本文将从多个方面介绍Python的简单数学计算,包括基础运算符、函数、库以及实际应用场景。 一、基础运算符 Python提供了基础的算术运算符,包括加(+)、减(-)、乘(*)、除…

    编程 2025-04-29
  • Python满天星代码:让编程变得更加简单

    本文将从多个方面详细阐述Python满天星代码,为大家介绍它的优点以及如何在编程中使用。无论是刚刚接触编程还是资深程序员,都能从中获得一定的收获。 一、简介 Python满天星代码…

    编程 2025-04-29
  • Python海龟代码简单画图

    本文将介绍如何使用Python的海龟库进行简单画图,并提供相关示例代码。 一、基础用法 使用Python的海龟库,我们可以控制一个小海龟在窗口中移动,并利用它的“画笔”在窗口中绘制…

    编程 2025-04-29
  • PHP怎么接币

    想要在自己的网站或应用中接受比特币等加密货币的支付,就需要对该加密货币拥有一定的了解,并使用对应的API进行开发。本文将从多个方面详细阐述如何使用PHP接受加密货币的支付。 一、环…

    编程 2025-04-29
  • Python樱花树代码简单

    本文将对Python樱花树代码进行详细的阐述和讲解,帮助读者更好地理解该代码的实现方法。 一、简介 樱花树是一种图形效果,它的实现方法比较简单。Python中可以通过turtle这…

    编程 2025-04-28
  • 使用PHP foreach遍历有相同属性的值

    本篇文章将介绍如何使用PHP foreach遍历具有相同属性的值,并给出相应的代码示例。 一、基础概念 在讲解如何使用PHP foreach遍历有相同属性的值之前,我们需要先了解几…

    编程 2025-04-28
  • Python大神作品:让编程变得更加简单

    Python作为一种高级的解释性编程语言,一直被广泛地运用于各个领域,从Web开发、游戏开发到人工智能,Python都扮演着重要的角色。Python的代码简洁明了,易于阅读和维护,…

    编程 2025-04-28
  • 用Python实现简单爬虫程序

    在当今时代,互联网上的信息量是爆炸式增长的,其中很多信息可以被利用。对于数据分析、数据挖掘或者其他一些需要大量数据的任务,我们可以使用爬虫技术从各个网站获取需要的信息。而Pytho…

    编程 2025-04-28
  • 如何制作一个简单的换装游戏

    本文将从以下几个方面,为大家介绍如何制作一个简单的换装游戏: 1. 游戏需求和界面设计 2. 使用HTML、CSS和JavaScript开发游戏 3. 实现游戏的基本功能:拖拽交互…

    编程 2025-04-27

发表回复

登录后才能评论