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

用户投稿 151 0

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

如何让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安全模式影响哪些函数?

开启safe_mode之后对php系统函数的影响:

safe_mode即为PHP的安全模式,在php.ini中设置safe_mode = On重启PHP便可开启安全模式。

当安全模式开启后,PHP相应的一些系统函数,文件操作函数等将会受限。例如:

ckdir,

move_uploaded_file,

chgrp,

parse_ini_file,

chown,rmdir,

copy,

rename,

fopen,

require,

highlight_file,

show_source,

include,

symlink,

link,

touch,

mkdir,

unlink,

exec,

shell_exec,

pasathru,

system,

popen

除此之外,一些php扩展的函数也会受到限制,不能在程序里面直接加载扩展,只能到php.ini里加载,而且php如果需要执行操作系统的程序时,必须在safe_mode_exec_dir中指定程序的路径,否则执行将失败。

php代码运行无法在网页显示?

解决方法:

1、打开php.ini配置文件;

2、取消error_reporting的注释,将其设置为【error_reporting=E_ALL&~E_NOTICE】;

3、重启服务器即可显示。

php启动时候提示PHP startup的解决方法?

配置好php环境后,每次开机都有警告提示说 PHP startup,解决这个问题很简单只需要在

php.ini

文件中修改 extension_dir配置就行。

把; extension_dir = "ext"改为 extension_dir = "D:/myphpenv/php5.4/ext"

其中D:/myphpenv/php5.4/为php安装目录。

重启apache发现警告没有了。

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

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