当在函数里通过require_once包含另外php文件。

而另外php文件包含了另外php文件,而该php文件的函数需要另外的php文件。

例子:

installment_maintenance_submit.php文件里downloadZip函数在内部包含了rebootTipsFunc.php

function  downloadZip(){

    require_once realpath(dirname(__FILE__)."/lib/rebootTipsFunc.php");
$downloadUrl = getWebUrlInfo("download_zutai_url"); }

rebootTipsFunc.php文件

require_once realpath(dirname(__FILE__)."/../include/global_config.php");
require_once realpath(dirname(__FILE__)."/../include/web_auth_paramsdesc.php");
require_once realpath(dirname(__FILE__)."/../include/default_web_config.php");
require_once realpath(dirname(__FILE__)."/../include/global_feature_config.php"); function getWebUrlInfo($key){ // echo $key; global $g_cfgWebArr;
// print_r($g_cfgWebArr);
// global $g_web_paramsdesc;
global $g_default_cfgWebArr;
// print_r($g_default_cfgWebArr);
if(array_key_exists($key,$g_cfgWebArr)){
return $g_cfgWebArr[$key];
}else{
return $g_default_cfgWebArr[$key];
}
}

函数 getWebUrlInfo 里调用了global_config.php文件里的数组$g_cfgWebArr,在函数里用global里用全局变量指定。

用上述方法指定后,会出现在函数里getWebUrlInfo的$g_cfgWebArr变量无法被识别的情况。

将installment_maintenance_submit.php里require_once放在函数外部时,则可以正常使用。变量$g_cfgWebArr也可以正常使用

 require_once realpath(dirname(__FILE__)."/lib/rebootTipsFunc.php");
function downloadZip(){ $downloadUrl = getWebUrlInfo("download_zutai_url"); }

php 全局变量问题的更多相关文章

  1. cookies如何成为全局变量以及设置,删除,获取

    (一)cookie机制将信息存储于用户硬盘,因此可以作为全局变量 (1)保存用户登录状态.例如将用户id存储于一个cookie内,这样当用户下次访问该页面时就不需要重新登录了,现在很多论坛和社区都提供 ...

  2. php内核分析(三)-全局变量

    这里阅读的php版本为PHP-7.1.0 RC3,阅读代码的平台为linux CG CG是从全局的compiler_global中获取属性值,里面存储的就是编译过程使用到的全局变量. struct _ ...

  3. 全局变量:global与$GLOBALS的区别和使用

    今天在写框架的时候想把SaeMySQL初始化之后作为全局变量使用.但是后来发现PHP中的全局变量和Java或者OC中的全局变量还是有较大区别的.下面记录一下php里面的global的使用相关注意事项. ...

  4. 针对JS经典题型对全局变量及局部变量的理解浅谈

    第一次写博,还蛮激动... 看到了三题经典题型,就我目前的认识对此题进行总结.如有错误,敬请指正 首先,我们先明确一下JS引擎的工作步骤: js引擎工作分为两步: 1.将这个js中的变量和函数声明保存 ...

  5. kettle中全局变量的设置

    设置全局变量. 找到.properties文件: 在文件中设置值: 在kettle中新建一个job(不用做任何设置): 转换中获取便元的设置: 重启kettle的执行结果:

  6. 记录PHP的超全局变量$_SERVER

    $_SERVER是PHP中十分实用的超全局变量,在开发可移植的网站的时候会变得很有用. 下面我记录一下我自己常用到的几个变量 1.$_SERVER['SERVER_NAME']:记录了网站的域名. 2 ...

  7. 浅析jquery ajax异步调用方法中不能给全局变量赋值的原因及解决方法(转载)

    在调用一个jquery的ajax方法时我们有时会需要该方法返回一个值或者给某个全局变量赋值,可是我们发现程序执行完后并没有获取到我们想要的值,这时很有可能是因为你用的是ajax的异步调用async:t ...

  8. C#-WebForm-★内置对象简介★Request-获取请求对象、Response相应请求对象、Session全局变量(私有)、Cookie全局变量(私有)、Application全局公共变量、ViewState

    内置对象: 1.Request - 获取请求对象 用法:接收传值 protected void Page_Load(object sender, EventArgs e) { TextBox1.Tex ...

  9. 全局变量都是window对象的属性

    var x = "haha"; var test  = function(){ alert(this.x); } 上述,则会弹出 haha的值. 因为在JavaScript的变量作 ...

  10. PHP中的全局变量global和$GLOBALS的区别

    1.global Global的作用是定义全局变量,但是这个全局变量不是应用于整个网站,而是应用于当前页面,包括include或require的所有文件. 但是在函数体内定义的global变量,函数体 ...

随机推荐

  1. BZOJ4025 二分图(线段树分治+并查集)

    之前学了一下线段树分治,这还是第一次写.思想其实挺好理解,即离线后把一个操作影响到的时间段拆成线段树上的区间,并标记永久化.之后一块处理,对于某个节点表示的时间段,影响到他的就是该节点一直到线段树根的 ...

  2. TP5报错总结

    LNMP一键安装包上部署TP5项目500错误或者空白解决 [问题原因] TP5的入口文件在public下,当他调用类文件时,跨目录所以造成500错误,或者一片空白的问题 [解决方法] 1.public ...

  3. IDEA 快捷键修改(长期更新)

    最近误操作,导致idea的快捷键没了. 痛定思痛,打算记录一下,以前修改过的key map 搜索一下就好了: 1  代码格式化 -- reformat code:Ctrl+Alt+L(如果按了没反应, ...

  4. EF 事务

    http://yanwushu.byethost7.com/?p=87 1. EF对事务进行了封装:context的saveChange()是有事务性的. 2. 依赖多个不同的Context的操作(即 ...

  5. Zabbix3.0学习笔记

    第1章 zabbix监控 1.1 为什么要监控 在需要的时刻,提前提醒我们服务器出问题了 当出问题之后,可以找到问题的根源   网站/服务器 的可用性 1.1.1 网站可用性 在软件系统的高可靠性(也 ...

  6. 【转】linux环境内存分配原理 malloc info

    Linux的虚拟内存管理有几个关键概念: Linux 虚拟地址空间如何分布?malloc和free是如何分配和释放内存?如何查看堆内内存的碎片情况?既然堆内内存brk和sbrk不能直接释放,为什么不全 ...

  7. mycat实现简单的mysql集群负载均衡

    什么是mycat呢? 简单理解为一个MySQL中间件,它支持分流.基于心跳的自动故障切换,支持读写分离,支持mysql主从,基于Nio管理线程的高并发… 详见官网:http://www.mycat.i ...

  8. OpenAI 开源机器人模拟 Python 库,并行模拟处理速度提升400%

    10000da.cnvboyule.cnjiaeidaypt.cn  在过去一年的研究中,OpenAI团队开源一个使用 MuJoCoengine开发的用于机器人模拟的高性能Python库.雷锋网了解到 ...

  9. 【loj3043】【zjoi2019】线段树

    题目 描述 ​ 有\(m\)个操作一次发生,每个操作有\(\frac{1}{2}\)的概率被执行 ; ​ 一次操作为线段树([1,n])上的 \(modify(Node,l,r,ql,qr)\) ; ...

  10. quartz 关闭不断输出的batch acquisition of 0 triggers ?

    转: spring整合quartz定时器的项目中,如何关闭不断输出的batch acquisition of 0 triggers ? 不断输出的batch acquisition of 0 trig ...