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

用户投稿 109 0

关于“php_fpm设置”的问题,小编就整理了【3】个相关介绍“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-FPM运行状态的实时查看及监控详解?

简单处理的话,大概可以从三个方面来优化:

一、代码缓存:使用 Zend Opache、apcu 来缓存代码和对象。各参数在 /etc/php5/fpm/conf.d 下面可调。

二、页面缓存:使用 nginx 自带的 fastcgi cache 缓存页面。三、调整 php-fpm 的参数。如 php.ini、php-fpm.ini pool.d/ 目录下各参数的优化。你的内存有64G 的话,可以调高 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设置”的【3】点解答对大家有用。

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