php 全局变量问题
当在函数里通过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"); }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?