要求 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 个目录的主要内容,如果未能解决你的问题,请参考以下文章
PHP警告:require_once(/var/www/html/wp-config.php):无法打开流:第37行/var/www/html/wp-load.php中的权限被拒绝
字符串数组 输入3个字符串,要求按由小到大的字母顺序输出; 输入n个学生的姓名和学号到字符串数组中,在输入一个姓名,如果班级有该生则返回其信息,否则返回本班无此人