如何在管道脚本中使用相对路径(../)?

时间:2017-10-09 22:45:52

标签: php pipe relative-path

我的[root] /includes/helpdesk/pipe.php包含以下代码:

#!/opt/cpanel/ea-php55/root/usr/bin/php
<?php
require_once("pipeprocess.php");

在第一行的pipeprocess.php中的相同位置,我包含另一个仍位于同一位置的文件:helpdesk.php

然后在我的第一行的[root] /includes/helpdesk/helpdesk.php中:

require_once ("../../config.php");

config.php在[root]中,这就是为什么我有两次../../,helpdesk.php可以直接访问,但如果通过cPanel中的管道命令设置运行pipe.php我得到一个反弹配置错误。找不到php:

  

PHP警告:require_once(../../ config.php):无法打开流:   在......中没有该文件或目录   /home/[user]/public_html/[root]/includes/helpdesk/helpdesk.php在线   21

     

警告:require_once(../../ config.php):无法打开流:否   这样的文件或目录   /home/[user]/public_html/[root]/includes/helpdesk/helpdesk.php在线   21 PHP致命错误:require_once():需要打开失败   &#39; ../../的config.php&#39; (包含路径=&#39;:/ usr / lib中/ PHP:在/ usr /本地/ LIB / PHP&#39;)   在/home/[user]/public_html/[root]/includes/helpdesk/helpdesk.php上   第21行

     

致命错误:require_once():无法打开所需的错误   &#39; ../../的config.php&#39; (包含路径=&#39;:/ usr / lib中/ PHP:在/ usr /本地/ LIB / PHP&#39;)   在/home/[user]/public_html/[root]/includes/helpdesk/helpdesk.php上   第21行

为什么我收到此管道错误,因为直接访问helpdesk.php工作正常?管道不接受../或../../作为路径的一部分?或者是否存在EasyApache4问题?我做了几次测试,并注意到这是因为../作为包含路径的一部分。 pipe / EasyApache4有问题吗?

1 个答案:

答案 0 :(得分:2)

如果您根据当前运行的脚本文件的文件夹使用__DIR__该怎么办?

从PHP 5.3.0开始,您可以使用以下内容:

require_once (__DIR__ . "/../../config.php");