代码之家  ›  专栏  ›  技术社区  ›  Matt

在终端中运行php时,相当于运行$_server['document_root']

  •  0
  • Matt  · 技术社区  · 16 年前

    我想知道,当我这样调用PHP时,是否有一些变量会返回$_server['document_root']返回的值:..somescript

    如果没有,人们是如何避开这个案子的?我希望能够在Web浏览器和终端中调用相同的脚本(模板编译器)。

    谢谢! 马特缪勒

    3 回复  |  直到 16 年前
        1
  •  3
  •   Benoit    16 年前

    我不推荐 getcwd() 命令,因为您不能确定 cwd 除非你做了一个 chdir 之前(这意味着你已经知道你在哪个目录了)。工作目录可以在php-config中定义,并且在apache和cli之间有所不同,一些php框架会在启动时对其进行更改。

    使用 dirname(__FILE__) 无论您在Apache或CLI上下文中(加上它在Windows和Unix上都有效),它总是有效的,如果您需要在项目文件中移动,您可以只使用相对路径。

        2
  •  1
  •   Denis Malinovsky    16 年前

    我想你应该用 getcwd 函数获取当前目录(或 dirname (uu file_uuu)如果您的脚本是最上面的脚本)。然后您只需要确保从您的文档根目录运行脚本。像这样:

    cd /var/www/
    php ./scripts/top.php
    
        3
  •  -1
  •   Your Common Sense    16 年前

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