我想使用PHP-FPM池的chroot属性将chroot设置为DocumentRoot。使用下面的设置,无论我做什么,我只会得到一个“未找到文件”。错误:Apache + PHP-FPM + chroot结果“找不到文件”错误
/etc/php5/fpm/pool.d/example.conf
启用站点,[example]
user = example
group = example
listen = /var/run/php_fpm_example.sock
pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3
chroot = /opt/jail/example/home/example
php_admin_value[open_basedir]=/opt/jail/example/home/example
的/ etc/apache2的/ /例子
<VirtualHost *:80>
ServerName example.domain.name
ServerAlias www.example.domain.name
DocumentRoot /opt/jail/example/home/example
<Directory /opt/jail/example/home/example>
AllowOverride All
Order Allow,Deny
Allow from all
</Directory>
<IfModule mod_fastcgi.c>
<FilesMatch \.`enter code here`php$>
SetHandler php-script
</FilesMatch>
Action php-script /php5-fpm-handler
Alias /php5-fpm-handler /vhost_example
FastCGIExternalServer /vhost_example -socket /var/run/php_fpm_example.sock
</IfModule>
</VirtualHost>
所以网站本身位于在/ opt/jail/example/home/example中。你可能会发现它很奇怪,但并不重要,它是由jailkit引起的。
感谢您的帮助。
我花了很多时间试图让周围的符号链接在2.4.10的chroot里面,但无济于事。 mod_proxy_fcgi不适用于UDS(最好我可以告诉),所以这似乎仍然是使这些部分协同工作的唯一方法(php-fpm,chroot,UDS) – threeve 2016-04-06 14:10:39