相当于在终端中运行 php 时运行 $_SERVER['DOCUMENT_ROOT']

发布于 2024-08-30 16:34:33 字数 153 浏览 7 评论 0原文

我想知道当我像这样调用 PHP 时是否有一些变量会返回 $_SERVER['DOCUMENT_ROOT'] 返回的内容: ./somescript

如果没有,人们如何解决这种情况?我希望能够在网络浏览器和终端中调用相同的脚本(模板编译器)。

谢谢! 马特·穆勒

I was wondering if there is some variable that will return what $_SERVER['DOCUMENT_ROOT'] returns when I call PHP like this: ./somescript

If not, how do people get around this case? I'm looking to be able to call the same script (a template compiler) in both the web browser and the terminal.

Thanks!
Matt Mueller

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

子栖 2024-09-06 16:34:33

我不建议为此使用 getcwd() 命令,因为除非您创建了 chdir,否则您无法确定 cwd 指向哪里之前(这意味着您已经知道您所在的目录)。工作目录可以在 php 配置中定义,并且在 apache 和 CLI 之间有所不同,并且一些 php 框架会在启动时更改它。

使用 dirname(__FILE__) ,无论您是在 apache 还是 cli 上下文中,它总是可以工作(而且它可以在 Windows 和 unix 上工作),如果您需要在项目文件中移动,您只需使用相对路径。

I don't recommend the getcwd() command for this because you cannot be sure of where cwd is pointing unless you've made a chdir before (which mean you already know which directory you're in). Working directory can be define in php config and vary between apache and CLI, and some php frameworks changes it on startup.

Use dirname(__FILE__) it always works wether you're in a apache or cli context (plus it works on windows and unix), and if you need to move inside your project files you can just use relative paths.

死开点丶别碍眼 2024-09-06 16:34:33

我认为你应该使用 getcwd 函数来获取当前目录(或者只是 dirname(__FILE__) 如果您的脚本是最上面的)。然后您只需确保从 DOCUMENT_ROOT 运行脚本即可。像这样的事情:

cd /var/www/
php ./scripts/top.php

I think you should use getcwd function to obtain current directory (or just dirname(__FILE__) if your script is the top one). Then you only need to be sure to run the script from your DOCUMENT_ROOT. Something like this:

cd /var/www/
php ./scripts/top.php
ヅ她的身影、若隐若现 2024-09-06 16:34:33

硬编码文档根目录。
硬编码始终是解决方案

hardcode document root in it.
hardcode is always a solution

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文