我们如何检查我们是否在localhost上运行PHP脚本?
有没有办法检查我们是否在localhost上运行PHP脚本 - 开发服务器或实时服务器 - 生产服务器?是否有任何PHP常量,变量,函数等可以给我这些信息。
我需要这个为生产和开发服务器设置不同的设置。现在我解析URL以查看它是哪一个,但我想知道有没有更好的方法来做到这一点。我担心的是我们可能会更改脚本的URL,这可能会破坏我的检查。
我正在寻找一个具有一个配置文件和IF条件的解决方案,具体取决于我将定义不同的设置。唯一的问题是,当主机名,document_root或我用于识别本地/远程主机的其他服务器设置发生更改时,我不想更改IF语句。
并且希望从一个源更新SVN而不更改任何内容到我的生产服务器。
理想情况下,我希望能够使用这些设置运行CRON作业。
没有找到相关结果
已邀请:
10 个回复
舜辉
每个配置文件作为一个额外的单词:config.dev.ini,config.stage.ini,config.prod.ini等,... 它就像一个魅力。
恋裂
编辑 您还可以检查地址的第一部分,看看服务器是否在本地网络中,再次假设您的服务器在生产时不在本地网络中
盟犯涩沟都
在PHP代码中,您可以使用以下方法检查环境
如果您觉得需要在任何地方都可以使用它,那么您可以使用
,但我认为没有必要(我使用指定的环境加载相应的配置文件并创建只读的Singleton配置,然后使用检查任何配置选项;优于
类型代码,因为所有逻辑都在配置中,而不是在您的代码中)。
盟犯涩沟都
并在你的代码中使用它,例如:
坝胺绣敝
甲车劲
梦砍废么
这应该告诉您运行脚本的系统的主机名。您可以使用它来确定要使用的设置(取决于系统)。 我不知道这会输出'localhost'然而你可能需要知道你的开发机器的实际主机名。
闪脖
那样的事...... 所以在家我有一个在那里和在运行网站的服务器我有另一个我不更新,如果不改变它... 所以在服务器上我有类似的东西:
然后在其他php文件中:
这样的事!
济畦刨
在生产服务器上
在你的脚本中
因为是用于cronjob,所以
是存在的 祝Windows好运:(
降女陷费券