要求 wp-load.php 返回 3 个目录

Posted

技术标签:

【中文标题】要求 wp-load.php 返回 3 个目录【英文标题】:require wp-load.php 3 directories back 【发布时间】:2011-03-26 14:57:57 【问题描述】:

我试图在 /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 中没有这样的文件或目录。 com/html/wp-content/themes/pw-steel-orange/index-load.php 在第 1 行

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

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

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

【问题讨论】:

当然 WordPress 应该加载您的主题文件,而不是相反。我不建议加载 wo-load.php 除非你真的必须这样做。 【参考方案1】:

您可以发出以下命令来查看您从哪里提取文件(您所在的位置):

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

然后相应地包含该文件。

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

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

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

【讨论】:

奇怪...我尝试了 ../../../wp-load.php 几次,但它直到现在才起作用...谢谢! @sman591 后面的 3 个级别是一个疯狂的猜测......! :) 我只是想让您知道如何使用getcwd 查看您的位置,然后进行相应调整。但我很高兴它奏效了! ;)【参考方案2】:

这是一种半自动的方法:

$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)

【讨论】:

以上是关于要求 wp-load.php 返回 3 个目录的主要内容,如果未能解决你的问题,请参考以下文章

WordPress wp-load.php

PHP警告:require_once(/var/www/html/wp-config.php):无法打开流:第37行/var/www/html/wp-load.php中的权限被拒绝

输入3个字符串,要求按由小到大的顺序输出

字符串数组 输入3个字符串,要求按由小到大的字母顺序输出; 输入n个学生的姓名和学号到字符串数组中,在输入一个姓名,如果班级有该生则返回其信息,否则返回本班无此人

shell 测试URL 是否正常脚本

在我的public_html目录中找到一个可疑文件