我正在尝试在PHP-FPM chroot中设置一个站点。 我的path如下:
chroot = /var/www/ chdir = www/
chroot工作得很好,没有chdir。 但是,当我添加chdir我得到这个错误在PHP的启动:
ERROR: [pool www] the chdir path '/usr/www/' within the chroot path '/var/www/' ('/var/www///usr/www/') does not exist or is not a directory
有人知道为什么它会追加/usr/ chdirpath? 有没有办法把它从这个path中删除?
另外,如果我将chdirpath更改为/www/ ,则必须浏览到http://localhost/www/filename.php以查看我的文件。 chdir的重点并不是没有必要吗?
简单地设置一个任意的目录是不够的 – 你实际上需要build立一个chroot并确保它包含所有必要的库,设备和二进制文件。
否则,基本的东西,如DNSparsing将无法正常工作,你会得到随机错误,挂起或应用段错误。 这听起来像是你错误地将open_basedir与chroot的简单性open_basedir了。
首先,这个脚本一旦定制,就会给你一个chroot的基础。
http://www.fuschlberger.net/programs/ssh-scp-sftp-chroot-jail/make_chroot_jail.sh
但实际上,如果你没有太多的经验,
我猜想安全是你的目标,但是你很可能最终会得到相反的结果。
从phpfreaks IRC昨晚得到帮助。 这是Apache方面的一个问题,我需要将“/ www”发送到PHP-FPM。