【问题标题】:MAMP include error wp-blog-header.phpMAMP 包含错误 wp-blog-header.php
【发布时间】:2012-04-24 02:29:16
【问题描述】:

我正在尝试在插件中使用全局 $wpdb 将数据插入到我的一个表中。 从文档听起来我只需要包含 wp-blog-header.php 但是,当我尝试这样做时,我遇到了错误。

PHP 致命错误:require() [function.require]: 无法打开所需的 'http://localhost:8888/blog/wp-blog-header.php' (include_path='.:/Applications/MAMP/bin /php/php5.3.6/lib/php') 在 /Applications/MAMP/htdocs/blog/wp-content/plugins/pluginname/submit/pick.php 第 4 行

我的 pluginname/submit/pick.php(由 AJAX 调用)有以下代码

<?php
    $p = 'http://localhost:8888/blog/wp-blog-header.php';
    echo $p;
    require($p);
    echo 'hi';
?> 

如果我加载pick.php,我会看到http://localhost:8888/blog/wp-blog-header.php,就是这样。因此,正如错误日志所证实的那样,它必须在要求上失败。

路径是正确的,因为我在 wp-blog-header.php 中插入了一个快速回显,并将 pick.php 的输出复制粘贴到地址栏中并且它工作。

任何帮助将不胜感激。

【问题讨论】:

    标签: wordpress mamp require


    【解决方案1】:

    您不能通过 url 包含 php 文件。您将包括的是脚本的执行输出。由于它是一个完整的 url,因此您的内部 require() 与使用浏览器访问该 url 的人之间没有区别。您将得到的只是脚本的输出,可能是空白/无。

    包括通过 url,即使它只是对您自己服务器的本地请求,也会在安全漏洞方面打开一大堆蠕虫。

    您不能简单地通过正常的本地文件请求包含它的任何原因,例如

    require('blog/wp-blog-header.php');
    

    ?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-24
      • 1970-01-01
      • 2023-04-08
      • 1970-01-01
      • 1970-01-01
      • 2018-09-03
      相关资源
      最近更新 更多