Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
未在公共html中执行的框架的php代码_Php_Ubuntu_Apache2_Public Html - Fatal编程技术网

未在公共html中执行的框架的php代码

未在公共html中执行的框架的php代码,php,ubuntu,apache2,public-html,Php,Ubuntu,Apache2,Public Html,我在public_htmldir中有一个php站点main.php,它提供了几个框架: <html> <head> <title>My Site</title> </head> <frameset rows="55, *, 0" frameborder="no"> <frame id='headerFrame' src="headerFrame.php" scrolling="no"> <f

我在
public_html
dir中有一个php站点main.php,它提供了几个框架:

<html>
<head>
<title>My Site</title>
</head>
<frameset rows="55, *, 0" frameborder="no">
    <frame id='headerFrame' src="headerFrame.php" scrolling="no">
    <frame src="mainPages/a.php">
    <frame src="mainPages/b.php">
</frameset>
</html>

我的网站
main.php中的php代码标记(未显示)由服务器正确执行,但当我在浏览器中查看帧源时,我在html中看到了未解释的php标记:

headerFrame.php:

<?php
include 'base.php';
?>
<html>
...

...
为什么解释main.php而不是headerFrame.php? 当我将页面移动到
/var/www/mypage/
时,一切正常


环境:Ubuntu12.10,apache2

我自己发现了错误,这在发布的代码片段中并不完全明显:

在php脚本中有许多包含相对路径的文件。对于
/var/www/mypage
~/public\u html/mypage
而言,
包含的相对路径处理方式不同

前者考虑相对于运行脚本文件位置的相对路径,而后者处理相对于主目录的相对路径(
~/public\u html/mypage

在后一种情况下,未找到包含的php文件,php标记转储到其中,而不是由apache服务器解释


我使用Ubuntu 12.10的默认apache2配置,只是启用了userdir

您的包含路径可能是错误的。错误报告会告诉你这一点。你有/var/www和/var/public\u html吗?或者您的目录结构是什么样子的?您的php配置可能存在问题,即php是在/var/www中执行的,而不是在/var/public\u html中执行的