我已经建立了一个非常简单的网站使用PHP包括显示页脚和侧边栏,这些PHP包括工作时,我在我的电脑上,并查看他们使用EasyPHP,但当我来上传网站和查看它时,我得到以下错误显示在页面上:
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
我正在设置php,并启用色度。现在我看到有两种选择,我想知道确切的区别是什么。
安装程序有:
chroot = /var/www/domains/domain.tld/
; Chdir to this directory at the start. This value must be an absolute path.
; Default Value: current directory or / when chroot
chdir = /docroot/
为什么这里有两个不同的位置,以及允许php访问哪个路径。php网站可以访问/var/www/domains/domain.tld/,或者
我有一个托管我的网站的EC2实例。我正在尝试使用AWS SES PHP,该API已安装在我的主目录(/ home /ec2-user/)中。
我的web服务器(/var/www/html/)需要引用凭证文件和API本身,两者都存储在主文件夹中。
问题是,默认情况下PHP运行的用户'apache‘无法访问主文件夹。
我应该将“apache”添加到某种可以访问主文件夹的组中,还是应该在我的“EC2-user”下运行PHP?
当我将网站移到子文件夹中时,我总是担心路径问题,因为我不知道如何使用PHP处理它。
我想通过一个例子来学习,因为我可以很容易地通过看例子来学习它。
假设我有一个网站在这个目录下运行:httpdocs/development/subfolder/myWebsite/index.php
默认情况下,PHP会运行httpdocs/index.php,所以它是根路径,但我的网站在一个子文件夹中运行。
在我的网站的index.php中(所以我们在一个子文件夹中),我如何确保我指向正确的文件夹?
<img src="images/1.jpg"> // Does no dot m