PHP启用错误报告,如何启用Apache的PHP-FPM多实例?

用户投稿 104 0

关于“php启用php-fpm”的问题,小编就整理了【4】个相关介绍“php启用php-fpm”的解答:

如何启用Apache的PHP-FPM多实例?

步骤

1:安装 Epel 仓库步骤

2:安装 nDeploy RPM 仓库,这是此次安装中最为 重要的步骤。步骤

3:使用 yum 从 nDeploy 仓库安装 nDeploy 和 Nginx 插件。步骤

4:启用/配置 Nginx 为反向代理。   完成这些步骤后,下面为服务器中所有可用 PHP 版本安装 PHP-FPM 包,EA3 使用 remi 仓库来安装这些包。可以运行这个 nDeploy 脚本来下载所有的包。

php-fpm是什么?

PHP-FPM(FastCGI Process Manager:FastCGI进程管理器)是一个PHPFastCGI管理器,旨在将FastCGI进程管理整合进PHP包中。

相对Spawn-FCGI,PHP-FPM在CPU和内存方面的控制都更胜一筹,而且前者很容易崩溃,必须用crontab进行监控,而PHP-FPM则没有这种烦恼。

如何让PHP能够读取系统环境变量?

一、fpm模式

1、通过服务器传递

如在nginx的配置里设置:

fastcgi_param ENV_XXX 123456;

每次页面请求nginx都会将此变量传递给php,php可以通过getenv函数或$_SERVER全局变量获得。

2、通过fpm配置传递

fpm在每次启动时都会读取php-fpm.conf文件中的环境变量设置,如:

env[ENV_XXX]="test test"

或者让fpm读取系统环境变量,如:

env[ENV_XXX]=$ENV_XXX

注意此种方式要确保系统环境变量存在,且不被sudo禁用。

如果fpm是用sudo方式启动,默认sudo会禁用一些环境变量,可以通过以下方式放开限制:

vim /etc/sudoers

Defaults env_reset

Defaults env_keep = "ENV_XXX"

或者干脆放开所有限制:

Defaults !env_reset

最后,如果修改了php-fpm.conf中的设置需要重启fpm才能生效,同样php可以通过getenv函数或$_SERVER全局变量获得环境变量。

二、命令行模式

命令行模式限制较少,可以通过getenv函数或$_SERVER全局变量获取对当前执行用户有效的系统环境变量,同样要注意sudo的限制。

php中fastcgi和php-fpm是什么东西?

首先要明白CGI是一个协议,方便程序员开发程序的, 而fastcgi是cgi的一个改良版,优化了CGI的性能, php-fpm是实现了fastcgi的一个程序(当然,被官方收录了). 而php-fpm是php的一种工作模式。以服务的形式接收服务器传来的php文件,处理返回。 php一般还会以apache模块的形式工作.

到此,以上就是小编对于“php启用php-fpm”的问题就介绍到这了,希望介绍关于“php启用php-fpm”的【4】点解答对大家有用。

抱歉,评论功能暂时关闭!