I'm running a PHP script from the command line, so superglobals are not defined. How can I get the $_SERVER["DOCUMENT_ROOT"] without using the superglobal $_SERVER?
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率

在不使用superglobals的情况下获取$ _SERVER [“DOCUMENT_ROOT”]
收起
- 写回答
- 好问题 0 提建议
- 关注问题
微信扫一扫
点击复制链接分享
- 邀请回答
- 编辑 收藏 删除 结题
- 收藏 举报
2条回答 默认 最新
- 关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率
doutiaosu2310 2015-06-25 03:27关注Superglobals such
$_SERVER
haven't been set yet (because Apache/Nginx/etc) sets these values. As you're running from the command line, there is no Apache/Nginx/etc to set them, thus resulting in them becomingNULL
.There are 2 alternatives you can use.
Using
__DIR__
You can use the magic constant
__DIR__
to output the directory of the current file.php -r "echo __DIR__;" /var/www/html
This will give different results depending on where you run it from. I.e:
/var/www/html/lib/foo
will return differently if you ran it from/var/www/html/views/index
. - which is probably not what you're looking for.Setting your own constant
Within your bootstrap file (as mentioned in this comment), you can set your own constant to be used throughout your application.
define('__DOCUMENT_ROOT__', __DIR__);
Now from within the page you run (as long as it uses your bootstrap file), you can call
__DOCUMENT_ROOT__
constant to get the value that would mirror$_SERVER["DOCUMENT_ROOT"]
. Though this would require you to use relative paths to include your bootstrap file.本回答被题主选为最佳回答 , 对您是否有帮助呢? 本回答被专家选为最佳回答 , 对您是否有帮助呢? 本回答被题主和专家选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏举报微信扫一扫
点击复制链接分享
编辑预览轻敲空格完成输入- 显示为
- 卡片
- 标题
- 链接
评论按下Enter换行,Ctrl+Enter发表内容

- 显示为
- 卡片
- 标题
- 链接
报告相同问题?
- 2022-04-14 09:51拓海AE的博客 PHP 可免费下载使用。 PHP 文件是什么? PHP 文件可包含文本、HTML、JavaScript代码和 PHP 代码 PHP 代码在服务器上执行,结果以纯 HTML 形式返回给浏览器 PHP 文件的默认文件扩展名是 “.php” PHP 能做什么?...
- 2020-10-29 07:58通过`$_SERVER`数组,可以获取当前执行的脚本文件名(`$_SERVER['PHP_SELF']`),当前执行脚本所在的根目录(`$_SERVER['DOCUMENT_ROOT']`),以及当前执行脚本的绝对路径(`$_SERVER['SCRIPT_FILENAME']`)。...
- 2021-04-26 12:32小samy的博客 PHP超全局数组(Superglobals)介绍概述想做一个微信的公众平台,阅读了微信官方给的网址接入的示例代码,发现有个问题好像一直都是半知半解的,就是在类里边直接使用$_GET。仔细查了下关于这方面的知识,发现PHP中这...
- 2022-11-11 11:15三只小菜猿的博客 当用户点击链接 “Test $GET”, 参数 “subject” 和 “web” 将发送至"test_get.php",你可以在 “test_get.php” 文件中使用 $_GET 变量来获取这些数据。超级全局变量在PHP 4.1.0之后被启用, 是PHP系统中自带的变量...
- 2018-05-25 09:53hfdkkx199的博客 php整理php是一种创建动态交互性站点的强有力的服务器端脚本语言php脚本在服务器上执行,然后将纯HTML结果发送回浏览器php脚本可以放在文档中的任何位置php文件通常包含HTML标签和一些php脚本代码php中的变量以$符号...
- 2021-01-14 00:56抹奶茶的博客 PHP超级全局变量超级全局变量在PHP 4.1.0之后被启用, 是PHP系统中自带的变量,在一个脚本的全部作用域中都可用。PHP 超级全局变量PHP中预定义了几...PHP 超级全局变量列表:$GLOBALS$_SERVER$_REQUEST$_POST$_GET$_F...
- 2021-04-12 14:47一二三是五~~~的博客 使用 PHP推荐查看本文HTML版本本节汇集了你在写 PHP 脚本时可能碰到的大多数普通错误。1. 我想写一个可以处理任何表单来的数据的通用 PHP 脚本。我怎么知道哪个 POST 方法变量可用呢?2. 我需要在所有的单引号(')前...
- 2021-04-15 07:42小离的私家笔记的博客 1.我想写一个可以处理任何表单来的数据的通用 PHP ...您可以遍历 $_POST 变量,因为它是一个和所有通过 POST 方法传递数据相联系的数组。例如,我们可以用 foreach 简单的遍历它,检查 empty() 值,以及将它们输出。...
- 2018-01-06 01:15天谴残魂的博客 1.PHP 超级全局变量 超级全局变量在PHP 4.1.0之后被启用, 是PHP系统中自带的变量,在一个脚本的全部作用... 你不需要特别说明,就可以在函数及类中使用。 这些超全局变量是: * GLOBALS∗GLOBALS * _SERVER * REQU
- 2022-12-31 01:00T0620514的博客 PHP 超级全局变量
- 2019-10-17 12:38技术小咖龙的博客 PHP 超级全局变量 超级全局变量在PHP 4.1.0之后被启用, 是PHP系统中自带的变量,在一个脚本的全部作用域... 你不需要特别说明,就可以在函数及类中使用。 PHP 超级全局变量列表: $GLOBALS $_SERVER $_REQUEST...
- 2020-12-24 04:53weixin_39664774的博客 PHP 超级全局变量PHP中预定义了几个超级...PHP 超级全局变量列表:$GLOBALS$_SERVER$_REQUEST$_POST$_GET$_FILES$_ENV$_COOKIE$_SESSION本章节我们将讲解几个常用的超级全局变量,其余变量我们在接下来几个章节会介...
- 2021-03-29 00:04weixin_39849888的博客 一旦设置了某个变量,我们就可以在脚本中重复地使用它。PHP 中的所有变量都是以 $ 符号开始的。在 PHP 中设置变量的正确方法是:$var_name = value;PHP 的入门者往往会忘记在变量的前面的 $ 符号。如果那样做的话,...
- 2021-04-29 01:51weixin_39595008的博客 0x00 简介超级全局变量是在全部作用域中始终可用的内置变量。PHP 中的许多预定义变量都是“超全局的”...PHP 超级全局变量有: $GLOBALS 、$_SERVER 、$_REQUEST 、$_POST、$_GET 、$_FILES、$_ENV、$_COOKIE、$_SESS...
- 2024-07-13 20:27Python老吕的博客 PHP 的超级全局变量提供了强大的功能,使我们能够...然而,在使用这些变量时,我们需要注意安全性问题,并确保敏感信息得到妥善处理。通过正确使用这些变量和相关的函数,我们可以编写出更安全、更高效的 PHP 脚本。
- 2023-10-21 07:58无谓255的博客 常量就像变量一样,除了常量一旦定义后就不能取消定义或更改(魔术常量除外)常量对于存储脚本运行时不会更改的数据非常有用。此类数据的常见示例包括配置设置,例如数据库用户名和密码,网站的基本URL,公司名称等...
- 2017-12-04 02:29weixin_33724059的博客 PHP 超级全局变量 超级全局变量在PHP 4.1.0之后被启用, 是PHP系统中自带的变量,在一个脚本的全部作用域... 你不需要特别说明,就可以在函数及类中使用。 PHP 超级全局变量列表: $GLOBALS $_SERVER $_R...
- 没有解决我的问题, 去提问
- 京ICP备19004658号
- 经营性网站备案信息
公安备案号11010502030143
- 营业执照
- 北京互联网违法和不良信息举报中心
- 家长监护
- 中国互联网举报中心
- 网络110报警服务
- Chrome商店下载
- 账号管理规范
- 版权与免责声明
- 版权申诉
- 出版物许可证
- ©1999-2025北京创新乐知网络技术有限公司