【问题标题】:require_once(): http:// wrapper is disabled in the server configuration by allow_url_include=0require_once(): http:// wrapper 在服务器配置中被 allow_url_include=0 禁用
【发布时间】:2018-01-29 18:17:40
【问题描述】:

我知道这个错误已经被讨论过,但是我不能在我的 function.php(xampp) 中使用 require 或 include ,而且我没有 php.ini 文件。如果没有必要,我什至不想要一个!

我只想在 fuction.php 中包含第二个 php 文件。来吧,这不可能这么难......

这就是我用的。

require_once (get_stylesheet_directory_uri().'/index.php');

(结果:http://localhost/werkstatt/wp-content/themes/twentysixteen/index.php

我的意思是在这种情况下 index.php 无论如何都会被包含在内,这导致我进入第二个问题。为什么或如何包含一些标准文件,如 index.php?

【问题讨论】:

  • 这是一个(相当重要的)安全功能。您不应该通过 HTTP 包含文件。如果它们在同一台服务器上,则不必这样做。只需使用相对路径。

标签: php wordpress


【解决方案1】:

index.php 根本不包括在内,这是 PHP 代码执行的入口点,它在你的网络服务器配置中定义(不是很精确,但应该给你一个想法)。

您要包含的 PHP 文件是否在同一台服务器上?如果是这样,您需要通过其文件名而不是其 URL 来包含它。我了解您想要包含另一个 PHP 文件,该文件是您主题的一部分。 我不太了解 wordpress 及其定义的辅助函数,但这似乎是您需要使用的:https://developer.wordpress.org/reference/functions/get_template_directory/

如果它没有放置在同一台服务器上,那么你不应该这样做。

【讨论】:

  • 包括 (get_template_directory().'/index.php');对我来说效果很好,伙计。非常感谢!
猜你喜欢
  • 2014-06-10
  • 2019-03-06
  • 2011-10-16
  • 2017-11-24
  • 2018-01-22
  • 1970-01-01
  • 2017-08-14
相关资源
最近更新 更多