我的[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有问题吗?
答案 0 :(得分:2)
如果您根据当前运行的脚本文件的文件夹使用__DIR__
该怎么办?
从PHP 5.3.0开始,您可以使用以下内容:
require_once (__DIR__ . "/../../config.php");