需要wp-load.php 3个目录

时间:2010-08-07 01:47:01

标签: php path include require

我正在尝试在/ html /目录的开头包含一个文件(/wp-load.php)。我试图从/wp-content/themes/pw-steel-orange/index-load.php中包含它,但我总是收到错误消息

  

警告:require_once(../ wp-load.php)[function.require-once]:无法打开流:/ nfs / c07 / h01 / mnt / 102799 / domains / platyworld中没有此类文件或目录。第1行的com / html / wp-content / themes / pw-steel-orange / index-load.php

     

致命错误:require_once()[function.require]:无法打开所需的'../wp-load.php'(include_path ='。:/ usr / local / php-5.2.6-1 / share / pear ')在第1行的/nfs/c07/h01/mnt/102799/domains/platyworld.com/html/wp-content/themes/pw-steel-orange/index-load.php

我做错了吗?我虽然../将包含带到了开始目录

很抱歉,如果这是重复的,我在搜索中找不到与此相关的内容......

2 个答案:

答案 0 :(得分:2)

您可以发出以下命令以查看您从哪里提取文件:

// get your current working directory
echo getcwd();

然后相应地包含该文件。

// file is 3 dirs back
include '../../../wp-load.php';

例如,如果您正在使用类似CodeIgniter的框架,那么在您的应用程序的最开始将有一个index.php文件将调用所有其他代码。因此,您必须根据该文件包含该文件。

大多数框架都使用他们称之为BASEPATH的东西,它是网站当前的实际完整服务器路径。在将您的网站迁移到其他目的地时,这可能非常有用。

答案 1 :(得分:1)

这是一种半自动化的方式:

$incPath = str_replace("/wp-content/plugins/PLUGIN_NAME","",getcwd());
ini_set('include_path', $incPath);
include('wp-load.php');

尽管如此,它仍然是bad idea to include wp-load.php。 (如果此链接被删除,See that page here