Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PHP中拥有超全局变量?_Php_Apache_Variables_Globals - Fatal编程技术网

在PHP中拥有超全局变量?

在PHP中拥有超全局变量?,php,apache,variables,globals,Php,Apache,Variables,Globals,前几天我读了一些关于SuplerGlobals的文章,比如$\u SERVER或(请参阅更多详细信息),现在我问我: 有可能实现自己的超全局吗? 除了常数之外 例如,用户A在变量中写了一些东西,如果用户B调用它,它可以看到。 类似于服务器范围的会话变量之类的东西 如果这是一个愚蠢的问题,请不要太难:) 我知道外面有几种方法,比如SQL、Xml等等,但也许…这是不可能的,你只能看到自己的会话数据 要实现这一点,您需要将数据存储到其他地方。在文本文件或MySQL数据库中最为常见。你对PHP的整个想法

前几天我读了一些关于SuplerGlobals的文章,比如$\u SERVER或(请参阅更多详细信息),现在我问我:

有可能实现自己的超全局吗? 除了常数之外

例如,用户A在变量中写了一些东西,如果用户B调用它,它可以看到。 类似于服务器范围的会话变量之类的东西

如果这是一个愚蠢的问题,请不要太难:)
我知道外面有几种方法,比如SQL、Xml等等,但也许…

这是不可能的,你只能看到自己的会话数据


要实现这一点,您需要将数据存储到其他地方。在文本文件或MySQL数据库中最为常见。

你对PHP的整个想法都是错误的。

这些变量始终仅在一个脚本运行时可用,而不是整个站点

我想您可以使用
(asterix)导出您的var=“something”(asterix)
并使用getenv接收它

sry,不知道如何嵌入asterix=`,但最好避免它

如果您使用apache,可以使用以下方法:


同样的想法,环境变量PHP没有可以在用户之间共享的上下文。您应该进行一些替换,如SQL server或文件。您还可以检查一些扩展,例如可能帮助您实现目标的扩展

前几天,我读了一些关于SuplerGlobals的文章,比如$\u SERVER或(请参阅更多详细的PHP手册Superglobals),现在,我问我:

有可能实现自己的超全局吗?除了常数之外

是的,如果你有分机,是可能的

例如,用户A在变量中写了一些东西,如果用户B调用它,它可以看到

超全局变量不是这样做的——它们是存在于全局范围内的变量(即,在脚本实例的持续时间内)

如果要在不同调用之间共享数据,则需要将其发送到存储层,或者(对于单个客户端的数据)发送到浏览器


因为您在这里描述的实际上是一个共享会话,所以实现它的合理位置应该是在会话处理程序中。

env变量也不起作用。仅当您出错时,才会为本地上下文设置。如果PHP是从控制台运行的,它将被共享。在中使用setenv不会被共享,使用调用asterix导出它将被共享。如果php通过apache运行,它将与您共享,您最好在做出此类声明之前阅读本手册。通过快速测试,我无法在单独的请求中获取值。你确定它是这样工作的吗?是的,要设置的代码是apache_setenv('foo','bar',1)和获取是
echo apache_getenv('foo')这是一个德语页面,但似乎正是我要找的:谢谢!使用文件很难扩展(可能不是很快)和数据库-好吧,我知道它们,但那不是我想要的:)无论如何,谢谢。