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

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

PHP提供了很多默认的系统变量,用于获得系统配置信息、网络请求相关信息等。这些默认的系统变量及其作用如表2-1所示。

变量

作用$GLOBALS[]

储存当前脚本中的所有全局变量,其KEY为变量名,VALUE为变量值$_SERVER[]

当前WEB服务器变量数组$_GET[]

存储以GET方法提交表单中的数据$_POST[]

存储以POST方法提交表单中的数据$_COOKIE[]

取得或设置用户浏览器Cookies中存储的变量数组$_FILES[]

存储上传文件提交到当前脚本的数据$_ENV[]

存储当前WEB环境变量$_REQUEST[]

存储提交表单中所有请求数组,其中包括$_GET、$_POST、$_COOKIE和$_SESSION中的所有内容

$_SESSION[]

存储当前脚本的会话变量数组

置文件的不同,在不同环境下显示的内容可能会有所不同。

与系统变量一样,PHP也提供了一些默认的系统常量供使用。在程序中可以随时应用这些系统常量,但是我们不能任意更改这些常量的值。PHP中常用的一些默认系统常量及其作用如表2-2所示。

常量

作用__FILE__存储当前脚本的绝对路径及文件名称__LINE__存储该常量所在的行号__FUNCTION__存储该常量所在的函数名称__CLASS__存储该常量所在的类的名称PHP_VERSION存储当前PHP的版本号PHP_OS存储当前服务器的操作系统$_GET 和$_POST主要针对FORM表单提交的数据,$_COOKIE和$_SESSION主要针对客户端游览器和服务器端会话数据。$_FILES主要针对文件上传时提交的数据,$_REQUEST主要针对提交表单中所有请求数组,包括$_GET、$_POST、$_COOKIE中的所有内容,你可以通过print_r函数分别输出$_REQUEST或者$_COOKIE等进行比较。

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中的相关内容,有机会下次分享。?>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/559654.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python dataframe分组求和,pandas datafram中按特定月份分组和求和值

这里有一个稍微不同的方法:使用year和month来构建索引,然后使用一个UDF groupby()。在示例数据:N 10years pd.date_range("1981", "2017", freq"A").yeardates np.random.choice(years, sizeN, replaceTrue…

matlab7.0 run,新手求救啊!!!matlab7.0在win7启动后命令窗口出现大段代码!

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼java.lang.NoClassDefFoundError: com/mathworks/beans/ExtraPropertyAttributesat java.lang.ClassLoader.defineClass0(Native Method)at java.lang.ClassLoader.defineClass(Unknown Source)at java.security.SecureClassLoader…

php+spl+栈,PHP SPL标准库之数据结构栈(SplStack)介绍

栈(Stack)是一种特殊的线性表,因为它只能在线性表的一端进行插入或删除元素(即进栈和出栈)SplStack就是继承双链表(SplDoublyLinkedList)实现栈。类摘要如下:简单使用如下://把栈想象成一个颠倒的数组$stack new SplStack();/*** 可见栈和双…

深度理解java jvm,深度理解JVM

深入理解java虚拟机要讲的内容了解历史垃圾回收机制性能监控工具性能调优案例实战认识类的文件结构类加载机制字节码执行引擎虚拟机编译及运行时优化Java线程高级1. 环境搭建安装jdk2. 内存溢出场景模拟public class Test01 {public static void main(String[] args) {//测试内…

php用json_encode编码后乱码,php json_encode()函数中文编码乱码解决方法_PHP教程

在我使用php json_encode()时,如果是英文或数字没一点问题,但是用到中文是居然出现不可识别的中文乱码了,下面看我解决json_encode中文乱码方法。在网上找到一种解决方法:代码如下复制代码后来请教了别人,还可以用base…

oracle 根据用户备份,Oracle基于用户的备份及恢复

要执行exp或imp命令,首先: 1.看Oracle安装目录的bin目录下有没有 exp.exe和 imp.exe这两个文件,要不然可能无法执行这个命令的要执行exp或imp命令,首先:1.看Oracle安装目录的bin目录下有没有 exp.exe和 imp.exe这两个文…

oracle数据库sql的执行过程,Oracle体系结构之SQL语句的执行过程

一般来说,数据库处理SQL都会经过三个过程:解析(parse)、执行(exec)、返回结果(fetch)1.解析当用户发起一个SQL语句时,Oracle通过Server Process 接收SQL语句到达oracle实例,并在Shared pool 中的 Library Cache 查找是否存在该语句对应执行计划的缓存。如…

otb100matlab,ECO for tracking 在 OTB100 基准测试和 VOT2016 数据集中的实验结果

目前本文所涉内容均未使用图形处理器。运行在有图形处理器环境下的实验将在稍后补充,敬请关注。需要准备的文章和工具有:一、集成 OTB1001.1 下载基准测试在该目录中可以看到:trackers 目录中已经包含了若干跟踪算法。而我们要做的就是把 ECO…

如何设置oracle_home变量,oracle-如何在Ubuntu 9.x上正确设置ORACLE_HOME变量?

oracle-如何在Ubuntu 9.x上正确设置ORACLE_HOME变量?我遇到了与此处列出的问题相同的问题:尽管我没有丢失密码,但如何恢复或更改Oracle sysdba密码,我最初在configure脚本中输入了两次,然后登录(localhost:…

oracle脱机什么意思,脱机的是什么意思

1. 或者是,将记录传送到脱机系统去处理,以降低交换机的负荷。Alternatively, the records can be transferred to an off-line system for processing, to reduce the load on the exchange.2. 虽然第三方可用的应用软件很少,但在 Windows 1.…

oracle adg 备份,Oracle Physical Dataguard环境使用RMAN备份和恢复

Oracle Physical Dataguard环境使用RMAN备份和恢复由于Physical Dataguard使用的是块恢复技术来保持和PRIMARY的一致性,因此可以在STANDBY上进行rman备份,从而减轻PRIMARY的压力.当PRIMARY出现数据库故障时,可以使用在STANDBY上的备份来进行恢…

matlab遗传算法配送路径,基于Matlab物流配送路径优化问题遗传算法的实现

维普资讯 http://doc.docsou.com第2 9卷总第 1 1 3期物流商坛物流配送路径优化问题遗传算法的实现The Re lz to f Ge tc Al o ih o a ia i n o ne i g r t m f VRP Ba e o t e M a l b s d n h tap p p p p p p p p p p p p p p ) ≯≯ p p p p ≯ ≯ p≯≯≯≯≯≯≯弓晋丽 .程…

oracle 测试库搭建,Oracle Study之--通过RMAN克隆测试库

Oracle Study之--通过RMAN克隆测试库通过使用数据库备份,DBA可以在同一服务器或其它服务器上建立副本数据库。这个副本数据库可以和主数据库有相同的名称(拷贝)或与主数据库名称不同(克隆)。ORACLE在数据库拷贝和数据库克隆之间惟一不同的是拷贝的数据库不能更改名称…

清空临时表oracle,【Oracle相关】Oracle中如何清空临时表空间

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼【问题】数据库临时表空间占用空间太大,暂用大量磁盘空间。【处理】清空临时表空间Oracle1.启动数据库 startup2.查看当前的数据库默认表空间:SQL>select * from database_properties whereproperty_name…

linux挂载目录到分区,Ubuntu7.10下挂载/home目录到一个分区的方法

最近在一个9.5G的旧硬盘上装了个Ubuntu7.10,在安装时选择了自动分区安装,结果只有两个分区,/和swap,后来觉得一妥,就用gparted重新调整了分区,现在想把砍出事的分区挂载/home目录。昨晚试了一晚都没有弄好&…

linux 内存规划,生产场景怎么对linux系统进行合理规划分区?

分区的根本原则是简单、易用、方便批量管理。根据服务器角色定位建议如下:①单机服务器:如8G内存,300G硬盘分区: /boot 100-200M,swap 16G,内存大小8G*2,/ 80G,/var 20G(也可不分)&a…

linux终端美化,如何美化你的命令行终端Terminal

Linux下的终端是很有魅力的,你可以进行些简单的配置让它变得更加华丽,让枯燥的命令行也变得生动起来。下面进行些配置是我使用的,先看下效果图命令行是以我非常喜欢的Avirl为背景的,同时把终端的字体放大了,字体颜色为…

linux重启服务挂载盘消失,如何处理ECS Linux服务器重启服务器、初始化系统后数据盘不见了的情况...

本文在介绍如何处理ECS Linux服务器重启服务器、初始化系统后数据盘不见了的情况的基础上,重点探讨了其具体步骤,本文内容紧凑,希望大家可以有所收获。ECS Linux服务器重启服务器、初始化系统后数据盘不见了问题现象:Linux系统服务…

linux测试函数耗时tick数,C语言中怎样测验函数执行时间

有4种方法可以达成测算程序运行时间的目的。它们分别是使用clock, times, gettimeofday, getrusage来实现的。下面就来逐一介绍,并比较它们的优劣点。系统测试环境:VirtualBox (Ubuntu 9.10)gcc version 4.4.1libc6 2.10.1-0ubuntu16Core Duo T2500 2GMH…

linux 修改Db2主机名,对DB2服务器主机名的修改的正确操作流程

文章主要描述的是如何正确的对DB2服务器主机名的修改,在实际操作中由于出于多种原因,在DB2数据库的服务器的实际使用过程中,用户有可能对DB2数据库服务器的主机名进行修改,本文详细介绍了修改DB2的主机名需要做的修改工作。环境:产…