php getenv shell,关于php的getenv()方法获取环境变量的问题
php文件的执行
我们比较常用的执行php文件方式有两种
一种是通过浏览器访问服务器(比如apache),然后由服务器来运行相应的php文件
另一种就是通过shell直接运行php命令或者在shell脚本文件中运行php命令的方式来执行php文件
直接运行php命令
php /var/www/borg/oil refine test
在shell脚本文件中运行php命令
bash /var/www/borg/fuel/app/tasks/test.sh
test.sh
#!/bin/bash
export tt="test***in test.sh" //此处的环境变量tt可以被test.php文件中的getenv取到,当然,此时的shell进程中的所有环境变量都可以被取到php_command="php /var/www/borg/oil refine test"resutl=$($php_command)
test.php
classTest
{public static function run($sync_mode=null, $date_from="", $date_to="")
{\Log::debug("test.sh");
\Log::debug(getenv("tt"));
}
}
apache配置文件中的环境变量
ServerName borg-localhost
DocumentRoot/var/www/borg/publicDirectoryIndex index.html index.php index.cgi
SetEnv FUEL_ENV development //此处的环境变量通过浏览器访问服务器apache的方式是可以通过getenv取到的,dan通过命令行运行php的方式是取不到的
//此处的环境变量通过$_SERVER["FUEL_ENV"]的方式也是可以取道的AllowOverride All
#AllowOverride AuthConfig
Options Indexes FollowSymLinks
Require all granted
这两种方式通过getenv获取环境变量时有所不同
通过浏览器的方式访问时,getenv可以获取到在apache配置文件中的环境变量,而无法获取linux主机的环境变量(比如/etc/environment,/etc/profile等文件中设置的环境变量)
而通过shell命令行的方式运行php时,getenv可以获得运行php时的shell进程的环境变量,而无法获得apache配置文件中设置的环境变量
个人原因猜测,apache运行php时,并不会加载apache所在linux系统的环境变量,而shell命令行的方式运行php文件时,因为没有通过apache,所以也不会加载apache配置文件的环境变量
原文:https://www.cnblogs.com/gaoBlog/p/12290121.html
php getenv shell,关于php的getenv()方法获取环境变量的问题相关推荐
- 【linux】查看环境变量|getenv setenv设置获取环境变量
目录 环境变量类型 查看环境变量 系统的环境变量 进程的环境变量 初始化时载入的环境变量 执行过程中设置的环境变量 环境变量原理 通过函数存取环境变量 getenv & setenv 获取&a ...
- linux环境变量配置的方法,Linux环境变量配置方法
Linux上环境变量配置分为设置永久变量和临时变量两种.环境变量设置方法同时要考虑环境Shell类型,不同类型的SHELL设置临时变量方法和设置永久变量对应的配置文件不同.Linux环境变量本身配置过 ...
- 【前端学习】Git的安装和基本使用方法和环境变量配置 时光大魔王
免责声明:原创文章,请勿抄袭:思维有限,敬请指正. 直达目录 Git下载 .安装步骤(完整图解) .基本使用方法 .环境变量配置 适用系统 Windows.Linux/Unix.macOS 官网简介 ...
- php getenv无法获取环境变量
现象 php在nginx+fpm模式下getenv()方法获取到的内容与cli模式下不同 举例 shell下输出HOSTNAME nginx+fpm无法获取HOSTNAME环境变量 php cli模式 ...
- Linux之setenv()/getenv()设置/获取环境变量
函数定义: int setenv(const char *name, const char *value, int overwrite);栗子: setenv("USER",&qu ...
- shell执行脚本的方法及环境变量
执行脚本的方法 (1)bash ./filename.sh(产生子进程,再运行,使用当前指定的bash shell去运行) (2)./filename.sh(产生子进程,再运行,使用脚本里面指定的sh ...
- Linux shell 学习笔记(4)— linux 环境变量(全局变量、局部变量及变量持久化)
1. 环境变量概念及分类 bash shell 用一个叫作环境变量(environment variable)的特性来存储有关 shell 会话和工作环境的信息(这也是它们被称作环境变量的原因).这项 ...
- linux环境变量设置方法,Linux环境变量设置指南
以配置java环境变量为例 [编辑]修改/etc/profile文件 此法对所有用户生效 在文件末尾加入以下内容: JAVA_HOME=/usr/share/jdk1.5.0_05 PATH=$JAV ...
- shell脚本一键安装JDK及配置环境变量
为什么我要写这样安装JDK并配置环境变量的脚本呢?因为我和linux打交道还是比较多的,然而每次都要安装JDK,配置环境变量,这样的事情对于刚接触linux的人来说是很乐意做的,但是接触多了,总是做这 ...
最新文章
- 洛谷 P2015 二叉苹果树
- 服务器上有图片但是app不显示不出来,网络app图片显示不出来的
- ITK:提取二值图像中连接区域的边界
- 认识适配器:JSON绑定概述系列
- 自如CEO熊林接任董事长
- 在整个数据库搜索某个字符串在哪个表的哪个字段中
- WPF MVVM 网易云音乐
- fzu 2204 7 dp
- python中去除列表重复元素的方法汇总
- 小朵机器人安卓叫什么_小朵机器人App
- 数学分析教程(科大)——2.8笔记+习题
- 如何给文件夹自定义图标?
- c++语言 幂指数,C / C++幂函数,计算给定数字的幂
- c/C++笔试题总结
- 山东省第二届数据应用创新创业大赛-济南赛场赛题发布
- 当代大学生结课后的一周
- matlab eval 函数的使用
- “新基建”背景下,智慧灯杆产业面临的问题及思考
- 排列与组合中的递归策略(as3.0)
- jQuery-获取/设置 属性(标准属性,自定义属性)和内容