PHP:require_once()数据库连接变量在PHP文件中的作用域是什么?

PHP:require_once()数据库连接变量在PHP文件中的作用域是什么?,php,session,require,require-once,Php,Session,Require,Require Once,我正在修改一个由另一个开发人员编写的网站,他已经离开了MIA。他现存的代码在其所在的GoDaddy服务器上完美运行,该服务器的PHP版本为5.3.24。我试图在Windows8.1机器上的XAMPP本地服务器上运行并调试它;XAMPP上的PHP版本是5.6.3。代码专门使用mysqli数据库查询 我遇到的问题是一个连接包含文件,它为站点的各种PHP脚本执行的各种查询建立到数据库的连接。包含文件始终包含在require_中一次。这只适用于大约一半的例程。我发现在一些PHP文件中,我必须将requi

我正在修改一个由另一个开发人员编写的网站,他已经离开了MIA。他现存的代码在其所在的GoDaddy服务器上完美运行,该服务器的PHP版本为5.3.24。我试图在Windows8.1机器上的XAMPP本地服务器上运行并调试它;XAMPP上的PHP版本是5.6.3。代码专门使用mysqli数据库查询

我遇到的问题是一个连接包含文件,它为站点的各种PHP脚本执行的各种查询建立到数据库的连接。包含文件始终包含在require_中一次。这只适用于大约一半的例程。我发现在一些PHP文件中,我必须将require_一次性更改为require,以便数据库连接仍然可用

为什么组成站点的一些PHP文件只需要_一次,而其他文件需要_?当用户从站点的一个部分移动到另一个部分时,什么会导致连接变量丢失


我有一个类似的问题,即会话变量在某些PHP脚本中可用,但在其他脚本中不可用,尽管在每个PHP脚本的顶部都明确说明了会话开始…这两个问题可能有一个共同的原因。

FYI,常规应用。是否有可能是非常过时的代码依赖于register globals?您需要审核所有入口点,假设他没有使用前端控制器类型设置,因此只有一个入口点,并确保您在到达后执行require\u。如果应用程序不是太大,你可能想现在花点时间重构它。。。听起来它的架构真的很糟糕。你是在使用MVC框架Codeigniter、Laravel等,还是只是普通的PHP?这确实与变量作用域有关,您可以通过编写全局$connection轻松测试这一点。这会奏效的。将$connection替换为变量名,请同时发布一些代码。