【问题标题】:Failed to open file for inclusion未能打开文件以包含
【发布时间】:2014-07-01 00:22:48
【问题描述】:

我不断收到此错误

Failed opening '/php/php_includes/easyCMSv2.php' for inclusion 该文件来自我正在编写的管理面板。管理面板位于子域中,我需要联系public_html,所以我这样做了

include_once('../../../php/php_includes/configurate.php');

但我得到了一些包含的错误。我只是想添加文件我的目录看起来像这样

 --public_html
   --css
   --php
     --php_includes
     --css
     --templates
   --js
   --administrator(sub-domain)
     --admin
     --{dynamic encoded path}
       --login.php 
       --testheader.php

login.php 需要包含来自目录php的文件

我一直在尝试一切,但我错过的不仅仅是击球。智者的任何忠告。我厌倦了试图解决这个小问题。

【问题讨论】:

    标签: php include dir


    【解决方案1】:

    根据您发布的结构,您的目录列表中有太多的升级。在像你这样的情况下,我总是使用

    echo get_include_path();
    

    很有可能它指向一些完全不同的文件夹,而不是 public_html。

    【讨论】:

    • 这是什么鬼? .:/usr/lib/php:/usr/local/lib/php
    • 这是你的 linux 包含路径。如果您的 public_html 文件夹中有 index.php 文件,您可以在其中添加一行 set_include_path('');。这会将您的包含路径设置为公共 html 目录。比你可以做的 include_once('php/php_includes/configurate.php')
    • 是的,我当时正在从 PHP.net 站点阅读它。我必须为每个页面设置这个吗?
    • 我你有面向对象的代码,可能在某个地方有一个自动加载器,或者每个请求都通过你的 index.php 文件,而不是在足够多的时候设置它。我会保持不变。
    • 好的,所以我尝试了您的仅引用方法,它仍然是 linux 路径。所以我打算尝试几种我认为的方法
    【解决方案2】:

    在目录层次结构中向上两级就足够了:

    include_once('../../php/php_includes/configurate.php');
    

    【讨论】:

    • 让我试试吧,我一直在尝试层次结构的每个阶段,虽然我不会忘记自己忘记了一些小事。
    猜你喜欢
    • 2013-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-10
    • 2016-06-17
    • 2019-10-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多