Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/91.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
PHP在EasyHP下的开发中可以很好地工作,但在上传到主机时却不能_Php_Html - Fatal编程技术网

PHP在EasyHP下的开发中可以很好地工作,但在上传到主机时却不能

PHP在EasyHP下的开发中可以很好地工作,但在上传到主机时却不能,php,html,Php,Html,我使用PHP Includes构建了一个非常简单的网站,用于显示页脚和侧边栏,这些PHP Includes在我的计算机上工作时使用EasyHP查看它们,但是当我上传网站并查看它时,我会在页面上显示以下错误: Warning: include() [function.include]: open_basedir restriction in effect. File(/usr/local/apache/htdocs/includes/sidebar.php) is not within the a

我使用PHP Includes构建了一个非常简单的网站,用于显示页脚和侧边栏,这些PHP Includes在我的计算机上工作时使用EasyHP查看它们,但是当我上传网站并查看它时,我会在页面上显示以下错误:

Warning: include() [function.include]: open_basedir restriction in effect.
File(/usr/local/apache/htdocs/includes/sidebar.php) is not within the allowed path(s):
(/home/:/usr/lib/php:/tmp) in /home/a5562725/public_html/index.php on line 26
在000webhost上免费托管

下面是index.php上包含的示例,用于显示我的“includes”文件夹中的侧栏:



我使用的是文档根目录而不是普通的包含目录,因为有些页面嵌入到更深的目录中,而包含的内容将成为死链接。

我猜,因为它将被共享托管,它可能被设置为您的webroot

因此,只需包括使用:

<?php include "/includes/sidebar.php"; ?>


再进一步说。。。出于安全原因,托管提供商通常设置open_basedir(http://www.php.net/manual/en/ini.core.php#ini.open-basedir)

这种情况总是发生,只要我提出问题,我就会找到解决方案

是的,问题是与共享主机有关。似乎,我必须指向我主机的主根目录才能使其工作,对于000webhost用户,您可以在控制面板的右侧找到它

我的包含项现在如下所示:

<?php include('/home/a********/public_html/includes/sidebar.php'); ?>


其中*s是您的主根。

这可能是权限问题。确保apache用户能够打开sidebar.php。如果不确定,请将/includes/sidebar.php设置为具有755个权限。最好使用Brian的建议,因为这样就不需要根据代码的部署位置不断更改此路径。感谢您的回答,我现在收到以下错误:警告:include()[function.include]:打开“/includes/sidebar.php”以包含失败(include_path='。:/usr/lib/php:/usr/local/lib/php')在/home/a5562725/public_html/index.php第26行,您可以在OK上自己查看它。谢谢!这对顶级页面有效,但是,正如问题中所述,我在较低的目录中有一些文件也需要这些文件,我假设我应该使用普通的“。/”之前的路径去了一个目录,就像在HTML和CSS?谢谢!太棒了,不敢相信它是那么简单的哈哈!非常感谢!
<?php include('/home/a********/public_html/includes/sidebar.php'); ?>