php在Linux下的相对路径问题

如图所示,我在 /root/phpcode/ 下面有两个php文件。

a.php 与 b.php,我用 a.php 去 require b.php ,然后 b.php 输出 1。

现在我在 /root/phpcode/ 里面执行  a.php

结果如下:

很明显这是正常输出了。

现在我在 /root/下面执行 a.php

很明显这回报错了,a.php 无法 require b.php

原因是什么呢,且看下图,我把 a.php 的代码改了一下。

这回无论在什么地方执行 a.php 都能成功了。

问题就出在php的相对路径,在哪个目录里执行 a.php 那么 a.php 中的 当前目录 “.” 就是你执行它时所在的目录,而非 a.php 实际所在的目录。

验证之。

我竟无言与对。

时间: 2024-10-23 16:41:02

php在Linux下的相对路径问题的相关文章

Lenovo DS存储Linux下ISCSI 多路径映射配置

Lenovo  DS存储Linux下ISCSI 多路径映射配置 Renren  2018-01-17 实验环境: DS4200存储,B控制器池划分一个大小为18G的volume,通过两个1G ISCSI口port2和port3同时映射给客户机.Port B2口IP为172.16.1.14/24 :port B3口IP为172.16.1.15/24. 客户机系统为centos 6.9,两个以太网口,eth0口IP为172.16.1.195/24,eth1口的IP为172.16.1.196/24.网

linux下添加动态链接库路径、动态库加载等方法

linux下添加动态链接库路径的方法 2017年01月20日 10:08:17 阅读数:5596 Linux共享库路径配置 Linux下找不到共享库文件的典型现象为明明已经安装某个软包(如libnet,MySQL),编译连接可以正常进行,但是在运行时出现如"error while loading shared libraries: libnet.so.1:cannot open shared object file :No such file or directory"的错误提示. 原

linux下查看进程路径

在linux下查看进程大家都会想到用 ps -ef|grep XXX可是看到的不是全路径,怎么看全路径呢?每个进程启动之后在 /proc下面有一个于pid对应的路径例如:ps -ef|grep python显示:oracle    4431  4366  0 18:56 pts/2    00:00:00 python Server.py4431就是进程号到/proc/4431下,ls -l 会看到:总用量 0-r--r--r--    1 oracle   oinstall        0

linux下设置默认路径

查看文件: vim ~/.bash_profile 在bash_profile文件下以编辑模式插入以下代码:其中,/xxx/myname即为要设置的默认路径 SYSTEM=`uname -s` case $SYSTEM in Linux) alias ls="ls --color" esac cd /xxx/myname 退出编辑模式:按esc,在编辑模式插入如下代码 :wq 退出后,写入如下代码: source ~/.bash_profile 完美~

linux下磁盘多路径

有时我们在linux系统 中通过"fdisk-l"命令,会看到/dev/mapper/xxxxx的磁盘,这中磁盘有可能是逻辑卷,也有可能是配置的多路径,可以先通过"lvdisplay"如何能查看到,则说明是逻辑卷,如果不能,则是磁盘多路径配置,多路径配置下,一般会/dev/mapper/xxxx链接到一个磁盘/dev/dm-x的块设备文件,我们可以通过查看/etc/multipath.conf,会看到相关的多路径配置,或者是在/etc/multipath路径下有个w

Linux下修改PATH路径

1.#PATH=$PATH:/opt/lamp/mysql/bin       使用这种方法,只对当前会话有效,也就是说每当登出或注销系统以后,PATH 设置就会失效 2.#vi /etc/profile       在适当位置添加 PATH=$PATH:/etc/apache/bin (注意:= 即等号两边不能有任何空格)这种方法最好,除非你手动强制修改PATH的值,否则将不会被改变 但一般情况下我们不直接在这里面修改,在/etc/profile开头有这样的提示: # It's NOT a g

linux下对绝对路径和相对路径的理解

假如你 要切换到当前目录下的 etc  目录中去 那么就用这个  cd  etc  这就是相对路径,而这种写法  cd  /etc 就是回到根目录下的etc 目录下 绝对路径 ,绝对路径文件前面多出一个/ . 有相对路径有时候操作起来问题就简单多了,例如 我有个目录  /home/test/study    /home/test/test  那么我从第一个目录切换到第二个目录就不必要输入很长的路径了 我只需要输入  cd ../test . cd /  回到根目录 cd  /etc 回到根目录下

linux下查看jdk路径

jdk安装后 centos中: 执行 rpm -ql java-1.7.0-openjdk-devel | grep '/bin/javac' 命令确定, 执行后会输出一个路径,除去路径末尾的 "/bin/javac",剩下的就是jdk正确的安装路径了 ubuntu中: 执行:dpkg -L openjdk-7-jdk | grep '/bin/javac' 该命令会输出一个路径,除去路径末尾的 "/bin/javac",剩下的就是jdk正确的安装路径了 当然jdk

Oracle数据库中Linux下多路径使用及大容量硬盘挂载

一.应用环境及需求 操作系统为Red Hat 6.5 64位 挂载的存储容量为2.5T 基于此应用环境,需要解决两个问题: 为保证链路的稳定性及传输性能等,可以使用多路径技术: 挂载的存储硬盘超过了2T,MBR分区格式不能支持,需要使用到GPT分区格式 二.什么是多路径 摘自:http://rootking.blog.51cto.com/2619611/476212 普通的电脑主机都是一个硬盘挂接到一个总线上,这里是一对一的关系.而到了有光纤组成的SAN环境,或者由iSCSI组成的IPSAN环境