【问题标题】:PHP include_once breaks sitePHP include_once 中断站点
【发布时间】:2014-02-26 20:45:00
【问题描述】:

我的代码中必须有两个 include_once 调用:

include_once('../folder/folder/file.php');
include_once('../folder/folder/file2.php');

它是正确的文件位置,并且能够与echo realpath() 进行验证

如果我取出其中一个,我的代码会在减去我需要的另一个文件的情况下工作。

如果我同时拥有它们,我只会得到一个空白屏幕,没有错误。

我的问题是,php 是否喜欢两个以 .. 开头的 include_once,我如何测试哪个失败?

【问题讨论】:

  • 使用__DIR__ 常量并包含文件的绝对路径。同时启用error_reporting() 并将display_errors 设置为true 以查看错误所在。
  • 启用错误显示没有理由 2 包含破坏站点。
  • (1) 多个include_once 完全没问题 (2) 阅读How to get useful error messages in PHP
  • 你的file.php和file2.php明显有些冲突。
  • 两者中定义的同名函数很可能会导致致命错误。去查看你的错误日志(这就是 PHP 中空白屏幕的含义),然后按照建议打开 display_errorsini_set('display_errors', 1); 在运行时很容易在开发代码时总是这样做

标签: php include include-path php-include


【解决方案1】:

您遇到的问题很可能是文件一或文件二读取了与其目录相关的其他文件。例如,如果文件一的代码为fopen(file.txt),则应将其更改为fopen(../folder/folder/file.txt)

确保文件一和文件二中访问其他文件的所有语句都使用相对于包含 include_once 语句的文件的路径。

【讨论】:

    猜你喜欢
    • 2012-02-23
    • 1970-01-01
    • 2012-12-24
    • 1970-01-01
    • 2011-12-11
    • 1970-01-01
    • 1970-01-01
    • 2011-08-06
    • 2014-05-21
    相关资源
    最近更新 更多