在PHP网站开发中,为了满足网站的需要,时常需要对PHP环境变量进行设置和应用,在虚拟主机环境下,有时我们更需要通过PHP环境变量操作函数来对PHP环境变量值进行设置。为此我们有必要对PHP环境变量先有所熟悉。今天和大家分享PHP环境变量$_SERVER和PHP系统常量的部分详细说明。

  PHP环境变量主要有$GLOBALS[]、$_SERVER[]、$_GET[]、$_POST[]、$_COOKIE[]、$_FILES[]、$_ENV[]、$_REQUEST[]、$_SESSION[]。$_GET和$_POST主要针对FORM表单提交的数据,$_COOKIE和$_SESSION主要针对客户端游览器和服务器端会话数据。$_FILES主要针对文件上传时提交的数据,$_REQUEST主要针对提交表单中所有请求数组,包括$_GET、$_POST、$_COOKIE中的所有内容,你可以通过print_r函数分别输出$_REQUEST或者$_COOKIE等进行比较。PHP环境如何搭建?

PHP环境变量$_SERVER

  是一个包含服务器端相关信息的PHP全局环境变量,在PHP4.1.0之前的版本使用$HTTP_SERVER_VARS。更多信息可以参考这里。

  $_SERVER['PHP_SELF'] 当前正在执行脚本的文件名,与 document root相关。在FORM表单中,如执行文件是本身,你可以在ACTION中使用$_SERVER['PHP_SELF'],好处是当执行文件名有变动时可以不去频繁替换ACTION中的文件名。

  $_SERVER['SERVER_NAME'] 当前运行的PHP程序所在服务器主机的名称。

  $_SERVER['REQUEST_METHOD'] 访问页面时的请求方法,即GET、HEAD、POST、PUT。

  $_SERVER['DOCUMENT_ROOT'] 当前运行的PHP程序所在的文档根目录。也就是PHP.INI文件中的定义。

  $_SERVER['HTTP_REFERER'] 链接到当前页面的前一页面的URL地址。在页面跳转功能中非常有用。

  $_SERVER['REMOTE_ADDR'] 正在浏览当前页面访问者的IP地址。

  $_SERVER['REMOTE_HOST'] 正在浏览当前页面用户的主机名。

  $_SERVER['REMOTE_PORT'] 正在游览的用户连接到服务器时所使用的端口。

  $_SERVER['SCRIPT_FILENAME'] 当前执行脚本的绝对路径名。

  $_SERVER['SERVER_PORT'] 服务器所使用的端口

  $_SERVER['SCRIPT_NAME'] 包含当前脚本的路径。这在页面需要指向自己时非常有用。

  $_SERVER['REQUEST_URI'] 访问此页面所需的URI。如“/index.html”。

  $_SERVER['PHP_AUTH_USER'] 应用在HTTP用户登录认证功能中,这个变量是用户输入的用户名。

  $_SERVER['PHP_AUTH_PW'] 应用在HTTP用户登录认证功能中,这个变量便是用户输入的密码。

  $_SERVER['AUTH_TYPE'] 应用在HTTP用户登录认证功能中,这个变量便是认证的类型。

  :上述提到的这些PHP全局环境变量,在php.ini中的register_globals设置为on时,这些变量在所有PHP程序脚本中都可用,也就是$_SERVER数组被分离了。当然为了安全考虑,还是不要将register_globals打开为好。

PHP系统常量

  __FILE__ 当前PHP程序脚本的绝对路径及文件名称

  __LINE__ 存储该常量所在的行号

  __FUNCTION__ 存储该常量所在的函数名称

  __CLASS__ 存储该常量所在的类的名称

  PHP_VERSION 存储当前PHP的版本号,也可以通过PHPVERSION()函数获取。

  PHP_OS 存储当前服务器的操作系统

  PHP环境变量$_SERVER的更多信息请参考PHP帮助手册,文章开头提到在虚拟主机环境下我们需要通过PHP环境变量操作函数来对PHP环境变量值进行设置,主要用到ini_set和ini_get,其实还有更多此类函数,比如PHP中的错误报告设置等,其实都涉及到PHP.INI中的相关内容,有机会下次分享。

  :PHP网站开发教程-leapsoul.cn版权所有,转载时请以链接形式注明原始出处及本声明,谢谢。

转载于:https://www.cnblogs.com/zsmynl/p/3537184.html

[php基础]PHP环境变量$_SERVER和系统常量详细说明相关推荐

  1. shell编程(三) : [Linux基础] Linux 环境变量

    接上一篇文章Linux shell编程(二): Linux shell基础 2.3 Linux环境变量 bash shell用一个叫作环境变量(environment variable)的特性来存储有 ...

  2. shell基础:环境变量

    子shell是在父shell中打开的shell. 使用pstree查看进程树. $调用环境变量 set查看所有变量内容, env查询环境变量 只是临时改变 转载于:https://www.cnblog ...

  3. linux基础知识——环境变量

    1.什么是环境变量? \qquad环境变量,即操作系统中的一些可以设置的参数,用于设置操作系统运行环境. 2.环境变量的特征 \qquad本质就是字符串: \qquad有统一的格式:名=值[:值] \ ...

  4. php中tp常量,tp系统常量定义

    (2013-03-06 14:16:31) 标签: 是已经封装好的系统常量 主要是用在控制器下面的动作当中 这样能很大的提高我们的开发效率 主要有下面的一些 手册上面都有的 __ROOT__ 网站的根 ...

  5. php 系统环境变量引用,PHP 系统变量 环境变量

    在PHP网站开发中,为了满足网站的需要,时常需要对PHP环境变量进行设置和应用,在虚拟主机环境下,有时我们更需要通过PHP环境变量操作函 数来对PHP环境变量值进行设置.为此我们有必要对PHP环境变量 ...

  6. Python标准库中os模块的environ获取系统的环境变量

    应用背景:我们想要用Python获取到一些有关系统的各种环境变量信息的时候可以考虑使用Python标准库中的os模块的environ.什么是环境变量,环境变量是程序和操作系统之间的通信方式.有些字符不 ...

  7. golang语言的入门基础,及window和linux系统上环境的搭配及运行

    golang语言的入门基础,及window和linux系统上环境的搭配及运行 简介: Go语言是谷歌推出的一种全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性.Go语言专门针对多处理器 ...

  8. SLAM导航机器人零基础实战系列:(五)树莓派3开发环境搭建——1.安装系统ubuntu_mate_16.04...

    SLAM导航机器人零基础实战系列:(五)树莓派3开发环境搭建--1.安装系统ubuntu_mate_16.04 摘要 通过前面一系列的铺垫,相信大家对整个miiboo机器人的DIY有了一个清晰整体的认 ...

  9. Linux系统 熟练掌握 shell环境变量

     熟练掌握 shell环境变量      shell就是用户与操作系统内核之间的接口,起着协调用户与系统的一致性和在用户与系统之间进行交互的作用.      shell支持具有字符串值的变量.shel ...

最新文章

  1. aes算法的地位_aes算法最后一轮为什么没有列混淆?
  2. 10行Python代码自动清理电脑内重复文件
  3. 提高sql性能的方法
  4. 14_pytorch.where,pytorch.gather
  5. 日期不能交叉的检测算法
  6. socket编程流程与函数(实用篇)
  7. composer 更改为中国镜像
  8. 【LeetCode笔记】17.电话号码的字母组合(Java、DFS)
  9. 极客学院.java学习笔记
  10. 报道称奈雪的茶通过港交所聆讯 回应:以公司经监管机构批准的公告为准
  11. 预约挂号费用保险赔吗?
  12. 巧舟的逆转裁判开发手记
  13. wps导航栏在哪设置?
  14. Mac 通过openCV打开摄像头权限
  15. Geospark电火花使用再记录
  16. linux系统怎么设置为中午_Linux修改系统时间与时区
  17. oracle常见错误码
  18. 以软件测试的角度测试一支笔,如何测试一支笔.
  19. 你还在为“收钱”发愁吗?BeeCloud打造支付平台
  20. 通讯工程有必要考计算机二级吗,通信工程专业学生注意 你需要考这些证书!...

热门文章

  1. java vector内存结构_4. Java集合知识测试
  2. 分析频域滤波和空域滤波的各自特点_IIR数字滤波器设计(数字信号处理)
  3. kafka使用_Kafka精华问答 | kafka的使用场景是什么?
  4. 用心摘种一树技能,植树节送3本书
  5. SQL 优化极简法则,你掌握几个?
  6. 图神经网络(GNN)综述
  7. 以太坊核心开发者计划为2.0制定“最小化合并”方案
  8. SAP License:第三方运输业务的外币付款处理
  9. 学会这三种贷中调额方法,今年优化list没我
  10. 有关node.js学习笔记