开发者社区> 问答> 正文

PHP在Linux环境下根目录怎么理解?

之前都是在windows下做开发,最近开始了linux之旅,被路径的问题搞晕了。
之前理解的“/”就是项目根目录,随便怎么写,不会跑出项目范围,除非写“D:/xxx”这样的路径,会对应到具体的盘符下的文件。

现在看到linux下原项目用的file_exists("/xxx"),直接指到系统根目录去了。而header("Location:/xxx")又是指的项目目录,实在是有点头晕了。

谁能指点一番么?多谢~

展开
收起
a123456678 2016-06-27 10:59:56 2367 0
1 条回答
写回答
取消 提交回答
  • 我觉得你是被自己搞晕了。file_exists这种类型的属于文件操作,使用的路径是操作系统的路径,而header("Location:...")这种是url操作,使用的路径是web路径(就是基于当前域名的)。
    通常在配置网站的时候,比如apache会让你指定域名对应的文件系统路径,如
    Server www.example.com
    Documentroot /var/www/example/public
    此时 header('Location: /user/index.php') 是指 www.example.com/user/index.php
    如果你想编辑www.example.com/user/index.php对应的文件呢,那么应该在 /var/www/example/public/user/index.php

    关于路径,windows和linux的唯一区别就是盘符,但是对于'/'的解释是一致的,例如dos下面
    c:/> e:
    e:/> cd www/abc
    e:/www/abc/> cd / <- 斜杠是表示当前盘符下的根目录,你不会没这么用过吧?
    e:/>

    2019-07-17 19:47:22
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
阿里云栖开发者沙龙PHP技术专场-直面PHP微服务架构挑战-高驰涛 立即下载
PHP安全开发:从白帽角度做安全 立即下载
PHP 2017.北京 全球开发者大会——高可用的PHP 立即下载