【问题标题】:After php 5.5 update include () no longer worksphp 5.5 更新后 include() 不再起作用
【发布时间】:2015-06-18 17:08:17
【问题描述】:

我正在尝试安装一个开源 php CRM,它需要我更新我的 php 版本。切换到 5.5,现在我的包含不起作用。

我试过了:

include "http://www.cswea.org/mobile_include/include_all_size_headers.php?cur_section=" . $Cur_Section . "&cur_sub_menu=" . $Cur_Sub_Menu . "&cur_page=" . $Cur_Page; 

还有:

include $_SERVER['DOCUMENT_ROOT']."/mobile_include/include_all_size_headers.php?cur_section=" . $Cur_Section . "&cur_sub_menu=" . $Cur_Sub_Menu . "&cur_page=" . $Cur_Page; 

但我什么也得不到。没有错误,我已经确认文件没问题。

您可以在以下位置查看此页面: http://www.cswea.org/events/

注意它只是一个普通的外壳。没有标题 html,我的 AJAX 调用来填充即将发生的事件也没有被调用? ajax 文件在同一个文件夹中。

主文件中的包含正在工作,所以我相信这是一个路径问题。

我需要做什么才能指向 cswea.org/mobile_include/include_all_size_headers.php 中的文件?

非常感谢您提供的任何提示、线索或其他帮助

编辑:

我发现了这个帖子: Include does nothing

通过切换到 require(这里的 cmets 也推荐),我遇到了一个致命错误。通过删除 ?=&='s,我能够让它包含该文件。
我现在的包含工作正常,但 HTML 显示不正确。这是另一个我认为我可以自己解决的问题。

解决方案是 A) 使用 $_SERVER['DOCUMENT_ROOT'] B) 消除 ?=&='s。

【问题讨论】:

  • “但我什么也没得到。没有错误” - Is your server setup to catch and display them?
  • 而不是include 使用require
  • 好主意@Lashane。是默默地失败了吗?
  • 根据您的解决方案:您找到的that link,没有提及$_SERVER['DOCUMENT_ROOT']。也不是 eliminate the ?=&='s 和关于“要求”的事实,只在 cmets 中说,而不是在任何给定的答案中。
  • 致 OP:@Lashane 应该发布他的评论并将其转换为答案,以便成为实际的解决方案。无论如何,海事组织。另外,您可以随时添加到他的答案中,或发布您自己的答案。

标签: php html include


【解决方案1】:

allow_url_include 是否启用?我相信它默认是关闭的。

此选项允许使用 URL 感知 fopen 包装器和 以下函数:include、include_once、require、require_once。

要求allow_url_fopen 也开启,默认情况下应该开启。

正如观察到的那样,您应该会收到警告/错误。

【讨论】:

  • 我发现了这个:stackoverflow.com/questions/3423702/include-does-nothing 切换到 require() 给了我错误。我删除了 ?=&= ,现在我拥有它,包括文件,它仍然没有正确输出,但这是一个开始。我可能没有正确理解,包装器是指 ?=&='s ?
  • 没有。包装如“流”中......即。 HTTP 包装器。我的回答是全有或全无。打开或关闭。听起来更像是您正在构建的 URI 的转义问题,或者您拨打电话的服务器端。
猜你喜欢
  • 2020-08-29
  • 2014-11-14
  • 2018-08-25
  • 2016-02-24
  • 1970-01-01
  • 1970-01-01
  • 2016-01-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多