php - 使用 PHP 的 include 语句时遇到问题
问题描述
我一辈子都无法让 PHP 的“包含”语句处理与使用“包含”语句的文件位于同一目录中的文件以外的任何文件。当我尝试包含另一个目录中的任何文件时,整个应用程序都会中断并且没有加载。
我把那个脚本转储进去,说:
/var/www/html/fooA/testClass.php
并尝试使用:
/var/www/html/different_than_fooA/include_testClass.php
应用程序中断。但是,如果我包括:
/html/foo_1.php
在:
/html/foo_2.php
一切正常...
我保证这不是一个简单的语法问题,我已经尝试过尽可能多地编写它,在前面使用斜杠,或者在前面不使用斜杠,整个目录和部分目录,IP 地址,甚至尝试从其他服务器加载。我的猜测是它与 PHP 或 Apache 的配置方式有关。我可以在互联网上找到几乎没有关于这件事的任何内容,任何建议都会很棒。
<?php
// THIS FILE IS TEST/TEST02.php
require 'TEST01.php';
$V = new X();
$V->Z();
?>
解决方案
你总是可以使用 PHP 的魔法常量,这样你就可以确定它会为你找出正确的路径。
/* lets say we have a folder structure like below
*
* - FolderA
* -- fileA.php
* - FolderB
* -- fileB.php
*/
// We require fileA.php in fileB.php, here is how we can do it
require __DIR__.'/../FolderA/fileA.php';
这是文档的链接。https://www.php.net/manual/en/language.constants.predefined.php
推荐阅读
- python - 使用 pyinstaller 将 pygame 应用程序转换为可执行文件时出现字体错误
- java - 插入排序输出不正确
- typo3 - TYPO3:从 v8.7 更新到 TYPO3 v9.5.19 后,后端工具栏用户设置消失了
- c++ - 将重物插入 std::map
- excel - Yii2:Kartik GridView Excel 导出
- python - 按时间间隔对 Pandas 数据帧数据进行分组
- amazon-web-services - 将 S3 对象复制到另一个 S3 位置 Elastic Beanstalk SSH 设置错误
- performance - 如果 Page Speed Insights 说一件事而 Search Console 说另一件事,如何找到累积布局转换问题
- python - Discord.py-Rewrite 使用后台任务循环状态
- postgresql - 如何在下表的PostgreSQL中将行转换为列