1. xxx.conf内的
chdir = /www
不能指定为使用ln -s软链接的目录,必须实际存在。否则,可能会在日志报错:php exited with error code 70.
2. 若多个网站都使用了chroot,有可能出现混乱问题。即: 本应该访问网站1,结果执行的是网站2的index.php。
参见https://bugs.php.net/bug.php?id=67141&edit=1:Bug #67141 PHP FPM vhost pollution
什么缘故呢?opcache的锅。当两个网站的路径“看起来”是一样的时候(举例:chroot网站A为/data/www/a,网站B为/data/www/b,ab俩文件夹下分别有www/index.php文件。通过chroot,两个站都认为它们访问的路径都是/www/index.php),opcache就有可能用前一个网站的缓存来返回结果。
怎么解决?php.ini,修改
opcache.revalidate_freq=0
即可
3. 解决DNS和时区问题需要拷贝的文件(Ubuntu 16.04 x64):
sudo cp /etc/resolv.conf /etc/hosts /etc/nsswitch.conf ${data}/etc
sudo cp /lib/x86_64-linux-gnu/{libc.so.6,libdl.so.2,libnss_dns.so.2,libnss_files.so.2,libresolv.so.2} ${data}/lib/
sudo cp -R /usr/share/zoneinfo ${data}/usr/share