如何让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配置全局环境变量没生效?
可能是因为在配置全局环境变量时,没有将PHP的路径添加到系统的PATH变量中。需要在环境变量中找到PATH变量,将PHP的路径添加到其中,并确保路径之间用分号分隔。另外,需要重新启动命令行窗口或者重启电脑,才能使环境变量生效。
windows10怎么配置php环境?
先安装Apache:双击安装,与安装其他Windows软件没有什么区别,在填ServerInfomation时,并没有特殊规定,只要输入的信息符合格式即可。 安装完成之后,在浏览器输入localhost,前面加上http,如果显示ItWorks!,表示Apache安装成功。 安装PHP:将php-5.3.10-Win32-VC9-x86.zip解压到一个目录即可。 安装MySQL:双击安装,如果需要更改安装目录,则在ChooseSetupType选择Custom 安装完成后开始配置MySQL,全部保持默认选项即可,但最好把MySQL默认编码改为utf8,在ModifySecuritySettings选项中设置密码,输入两次密码即可完成,最后点Execute完成配置。
还没有评论,来说两句吧...