【问题标题】:Is it possible for $_SERVER['SCRIPT_FILENAME'] to not be set?是否可以不设置 $_SERVER['SCRIPT_FILENAME']?
【发布时间】:2010-12-24 18:50:52
【问题描述】:

大家好,一些背景信息:

在我网站的配置文件中,我根据$_SERVER['HTTP_HOST']的内容设置了mysql数据库名称、用户名和密码。因为在旧 (HTTP 1.0) 请求和 cron 作业的情况下可能不会设置此变量,所以我包含一个文件,该文件根据在 $_SERVER['SCRIPT_FILENAME'] 中找到的值来欺骗 $_SERVER['HTTP_HOST'] 值。

但是,我仍然不时注意到我的日志文件中的错误(这种情况很少见,每 2 周左右一次,但仍然会发生),它尝试使用登录信息连接到生产站点上的 MySQL用于本地测试环境。

$_SERVER['SCRIPT_FILENAME'] 是否有可能为空?

【问题讨论】:

    标签: php global-variables superglobals


    【解决方案1】:

    我相信这是可能的,具体取决于所使用的网络服务器及其配置,但这不会不一致地发生,即它不会“每 2 周左右发生一次”,它会在每个请求上发生。

    解决您的问题的一个更有效的解决方案是修改您的部署流程(如果您没有正式的流程,则实施一个)。部署脚本可以将适当的连接参数写入您的配置文件,具体取决于部署到的环境。

    所建议的新部署流程随后会将这个运行时问题转变为部署时问题,希望在出现错误的情况下迅速识别并采取行动。

    【讨论】:

      猜你喜欢
      • 2011-09-21
      • 1970-01-01
      • 1970-01-01
      • 2011-10-24
      • 2015-08-28
      • 2011-08-26
      • 2014-07-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多