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()方法获取环境变量的问题相关推荐

  1. 【linux】查看环境变量|getenv setenv设置获取环境变量

    目录 环境变量类型 查看环境变量 系统的环境变量 进程的环境变量 初始化时载入的环境变量 执行过程中设置的环境变量 环境变量原理 通过函数存取环境变量 getenv & setenv 获取&a ...

  2. linux环境变量配置的方法,Linux环境变量配置方法

    Linux上环境变量配置分为设置永久变量和临时变量两种.环境变量设置方法同时要考虑环境Shell类型,不同类型的SHELL设置临时变量方法和设置永久变量对应的配置文件不同.Linux环境变量本身配置过 ...

  3. 【前端学习】Git的安装和基本使用方法和环境变量配置 时光大魔王

    免责声明:原创文章,请勿抄袭:思维有限,敬请指正. 直达目录 Git下载 .安装步骤(完整图解) .基本使用方法 .环境变量配置 适用系统 Windows.Linux/Unix.macOS 官网简介 ...

  4. php getenv无法获取环境变量

    现象 php在nginx+fpm模式下getenv()方法获取到的内容与cli模式下不同 举例 shell下输出HOSTNAME nginx+fpm无法获取HOSTNAME环境变量 php cli模式 ...

  5. Linux之setenv()/getenv()设置/获取环境变量

    函数定义: int setenv(const char *name, const char *value, int overwrite);栗子: setenv("USER",&qu ...

  6. shell执行脚本的方法及环境变量

    执行脚本的方法 (1)bash ./filename.sh(产生子进程,再运行,使用当前指定的bash shell去运行) (2)./filename.sh(产生子进程,再运行,使用脚本里面指定的sh ...

  7. Linux shell 学习笔记(4)— linux 环境变量(全局变量、局部变量及变量持久化)

    1. 环境变量概念及分类 bash shell 用一个叫作环境变量(environment variable)的特性来存储有关 shell 会话和工作环境的信息(这也是它们被称作环境变量的原因).这项 ...

  8. linux环境变量设置方法,Linux环境变量设置指南

    以配置java环境变量为例 [编辑]修改/etc/profile文件 此法对所有用户生效 在文件末尾加入以下内容: JAVA_HOME=/usr/share/jdk1.5.0_05 PATH=$JAV ...

  9. shell脚本一键安装JDK及配置环境变量

    为什么我要写这样安装JDK并配置环境变量的脚本呢?因为我和linux打交道还是比较多的,然而每次都要安装JDK,配置环境变量,这样的事情对于刚接触linux的人来说是很乐意做的,但是接触多了,总是做这 ...

最新文章

  1. 洛谷 P2015 二叉苹果树
  2. 服务器上有图片但是app不显示不出来,网络app图片显示不出来的
  3. ITK:提取二值图像中连接区域的边界
  4. 认识适配器:JSON绑定概述系列
  5. 自如CEO熊林接任董事长
  6. 在整个数据库搜索某个字符串在哪个表的哪个字段中
  7. WPF MVVM 网易云音乐
  8. fzu 2204 7 dp
  9. python中去除列表重复元素的方法汇总
  10. 小朵机器人安卓叫什么_小朵机器人App
  11. 数学分析教程(科大)——2.8笔记+习题
  12. 如何给文件夹自定义图标?
  13. c++语言 幂指数,C / C++幂函数,计算给定数字的幂
  14. c/C++笔试题总结
  15. 山东省第二届数据应用创新创业大赛-济南赛场赛题发布
  16. 当代大学生结课后的一周
  17. matlab eval 函数的使用
  18. “新基建”背景下,智慧灯杆产业面临的问题及思考
  19. 排列与组合中的递归策略(as3.0)
  20. jQuery-获取/设置 属性(标准属性,自定义属性)和内容

热门文章

  1. 域名注册时如何选择正确的顶级域名
  2. 电脑开不了机,怎么解决?
  3. 【失业预告】生成式人工智能 (GAI)AIGC
  4. 配置apache的php环境,apache配置php环境的方法
  5. 疫情期间,我们应该如何保护好自己的宠物?
  6. 磨刀不误砍柴工,带你搞定云网络系统性能测试
  7. 深度学习log-链路追踪-Spring Cloud Sleuth and ZipKin
  8. 安装ambari平台
  9. 简单 坦克大战 pygame -制作
  10. Jackson 工具类使用及配置指南