如何检查php脚本是否在本地服务器上运行?

Nik*_*ari 8 php apache

是否可以检查网站(php)是在本地运行还是在托管服务器上运行?我希望启用一些日志,如果网站在本地运行,我不希望这些在网站上出现..我可以设置一个变量,$local=1;但我必须在上传之前改变它..无论如何要自动化这个任务?

本地服务器:WampServer 2.0/Apache WebServer:Apache

Mic*_*ior 15

检查$_SERVER['REMOTE_ADDR']=='127.0.0.1'.只有在本地运行时才会出现这种情况.请注意,这也意味着服务器本地.因此,如果您在服务器上运行任何向PHP页面发出请求的脚本,它们也会满足这个条件.

  • 还允许某些服务器(如Mac OSX)报告IPv6值,因此您需要:`$ local =($ _SERVER ['REMOTE_ADDR'] =='127.0.0.1'||':: 1')`或类似.如果本地环境使用不同的主机名,如mysite.local等,也可以使用HTTP_HOST值. (2认同)

小智 5

我相信最好的方法是“伪造”一个测试模式,这可以通过在本地环境中创建一个文件来完成。
当我使用这种方法时,我创建了一个名为的空文本文件testing.txt,然后使用了以下代码:

if (file_exists('testing.txt')) {
    // then we are local or on a test environment
} else {
    // we are in production!
}
Run Code Online (Sandbox Code Playgroud)

这种方法是使用任何操作系统100%兼容,你可以用一些测试文件的情况下,你想要一个更精细的方法(例如development.txttesting.txtstaging.txtproduction.txt),以自定义您的部署过程。