您的位置:

php预定义,php预定义变量和魔术方法比较

本文目录一览:

php预定义变量有哪些

超全局变量 — 超全局变量是在全部作用域中始终可用的内置变量

$GLOBALS — 引用全局作用域中可用的全部变量

$_SERVER — 服务器和执行环境信息

$_GET — HTTP GET 变量

$_POST — HTTP POST 变量

$_FILES — HTTP 文件上传变量

$_REQUEST — HTTP Request 变量

$_SESSION — Session 变量

$_ENV — 环境变量

$_COOKIE — HTTP Cookies

$php_errormsg — 前一个错误信息

$HTTP_RAW_POST_DATA — 原生POST数据

$http_response_header — HTTP 响应头

$argc — 传递给脚本的参数数目

$argv — 传递给脚本的参数数组

PHP如何添加预定义常量或变量

常量使用define语句定义即可

全局变量可以定义到全局变量数组$GLOBALS中

参考手册 : ...

看题主的问法,感觉"环境变量"可能符合题主要求

nginx配置PHP server的时候可以增加以下指令

fastcgi_param CUSTOM_ENV_VAR "my_env_value";

之后只要是通过nginx访问的PHP请求,在任何代码中中使用 $_SERVER['CUSTOM_ENV_VAR'] 就能取到你需要的值

又或者在fastcgi的配置文件中增加一行:

env[CUSTOM_ENV_VAR]="my_env_value"

之后只要是php-fastcgi处理的PHP文件,都可以通过 getenv('CUSTOM_ENV_VAR'); 来获取设置的值

如果题主确实打算不亲自define而要得到类似E_ALL那样的常量的话,就需要写点C了

题主可以新建一个自己的扩展(或者直接随便找个你会编译的扩展也行),在PHP_MINIT_FUNCTION中使用以下宏来定义自己的常量

REGISTER_STRINGL_CONSTANT("MY_SITE_VERSION", "1.0", 3, CONST_PERSISTENT);

之后重新编译PHP即可.

php的预定义常量的值可不可以修改值?

预定义常量是系统本身定义的常量,在编译之后生成的

根据常量的定义

一个常量一旦被定义,就不能再改变或者取消定义

如果你想改变这些值,那么可以在编译之前改变,一旦编译之后,就不能再被改变