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

用户投稿 123 0

关于“php_sudo”的问题,小编就整理了【5】个相关介绍“php_sudo”的解答:

如何让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的限制。

sudo是什么?

sudo是linux系统管理指令,是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具,如halt,reboot,su等等。这样不仅减少了root用户的登录 和管理时间,同样也提高了安全性。sudo不是对shell的一个代替,它是面向每个命令的。

sudo 命令?

sudo是linux系统管理指令,是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具,如halt,reboot,su等等。这样不仅减少了root用户的登录 和管理时间,同样也提高了安全性。

sudo不是对shell的一个代替,它是面向每个命令的。

基本信息

中文名

linux系统管理指令

外文名

sudo(Superuser do)

例如

halt,reboot,su

php每次请求都要重新连接数据库?

是的,

您每次都需要连接。但是,只要您的用户名,主机和密码相同,您就可以使用mysql_pconnect()来减少连接负担。这将检查是否存在具有相同连接DSN的任何活动资源。如果找到,它将返回相同的对象,只要它处于活动状态,而不是创建新连接。

php下划杠符号代表什么?

在PHP中,下划线(_)通常用来表示一个变量的名称或参数。例如:

```php

$user_name = 'John_Doe';

echo $_user_name; // 输出 "John_Doe"

```

在上面的例子中,我们使用了下划线来表示一个名为 "_user_name" 的变量。

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

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