Php 是否可以不设置$#u SERVER[';SCRIPT#u FILENAME';]?

Php 是否可以不设置$#u SERVER[';SCRIPT#u FILENAME';]?,php,global-variables,superglobals,Php,Global Variables,Superglobals,大家好,一些背景信息: 在我的网站的配置文件中,我根据$\u SERVER['HTTP\u HOST']的内容设置mysql数据库名称、用户名和密码。因为在旧的(HTTP 1.0)请求和cron作业中可能不设置此变量,所以我包含了一个文件,该文件根据$\u服务器['HTTP\u HOST']中的值伪造$\u服务器['SCRIPT\u FILENAME']中的值 然而,我仍然时常注意到日志文件中的错误(这很少见,大约每两周一次,但仍然会发生),其中它尝试使用本地测试环境的登录信息连接到生产站点上的

大家好,一些背景信息:

在我的网站的配置文件中,我根据
$\u SERVER['HTTP\u HOST']
的内容设置mysql数据库名称、用户名和密码。因为在旧的(HTTP 1.0)请求和cron作业中可能不设置此变量,所以我包含了一个文件,该文件根据
$\u服务器['HTTP\u HOST']
中的值伪造
$\u服务器['SCRIPT\u FILENAME']
中的值

然而,我仍然时常注意到日志文件中的错误(这很少见,大约每两周一次,但仍然会发生),其中它尝试使用本地测试环境的登录信息连接到生产站点上的MySQL


$\u服务器['SCRIPT\u FILENAME']
是否可能为空?

我相信这是可能的,具体取决于所使用的Web服务器及其配置,但这不会发生不一致的情况,也就是说,不会“每两周左右”发生一次,每次请求都会发生

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


然后,建议的新部署过程会将此运行时问题转化为部署时问题,希望在出现错误时能够迅速识别并采取行动。

我相信这是可能的,具体取决于所使用的Web服务器及其配置,但这不会不一致地发生,也就是说,不会发生“大约每两周一次”,每次请求都会发生

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

然后,建议的新部署过程会将此运行时问题转化为部署时问题,希望在出现错误时能够快速识别并采取行动