我有一个像这样的目录结构:
/var/www/html/
|
+-dir1
|
+-dir2
| |
| +-problem.php
+-target.php
所以绝对路径是 /var/www/html/dir1/dir2/problem.php 和 /var/www/html/dir1/targt.php
我尝试将文件target.php
包含在文件problem.php
中,其中包含require_once '../target.php'
行
据我所知,这是包含文件的正确语法,但我仍然得到一个包含HTML代码500 Server错误的空白页面。如果我使用绝对路径,我会收到相同的错误。 如果我通过domain.tld / dir1 / target.php直接在浏览器中浏览target.php我得到200 OK,所以我认为这个文件完好无损。为了测试目的,我从problem.php中删除了所有其他数据,没有任何改变。
其他人遇到过这样的问题并有解决方案吗?
答案 0 :(得分:0)
我解决了错误。这是一个典型的初学者错误。我在problem.php中需要target.php
在@dchayka问之前,我从未想过target.php的内容,因为通过浏览器直接访问返回200.但这是一个错误,因为这个文件需要targets_include.php,这需要problem.php
我在这些文件中使用了相对路径。正如@mario所说,相对路径只能在当前工作目录中工作。用绝对值替换所有相对路径。
谢谢大家:)