Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/247.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
Apache 阿帕奇&x2B;PHP-FPM+;chroot结果“;未找到文件。”;错误_Apache_Php_Chroot - Fatal编程技术网

Apache 阿帕奇&x2B;PHP-FPM+;chroot结果“;未找到文件。”;错误

Apache 阿帕奇&x2B;PHP-FPM+;chroot结果“;未找到文件。”;错误,apache,php,chroot,Apache,Php,Chroot,我想使用PHP-FPM池的chroot属性将chroot设置为DocumentRoot。使用以下设置,无论我做什么,都只会得到一个“未找到文件”。错误: /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.mi

我想使用PHP-FPM池的chroot属性将chroot设置为DocumentRoot。使用以下设置,无论我做什么,都只会得到一个“未找到文件”。错误:

/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>

ServerName示例.domain.name
ServerAlias www.example.domain.name
DocumentRoot/opt/jail/example/home/example
允许超越所有
命令允许,拒绝
通融
SetHandler php脚本
操作php脚本/php5 fpm处理程序
别名/php5 fpm处理程序/vhost_示例
FastCGIExternalServer/vhost_示例-socket/var/run/php_fpm_example.sock
因此,网站本身位于/opt/jail/example/home/example。你可能会觉得很奇怪,但这并不重要,它是由jailkit引起的


谢谢您的帮助。

您有没有在php fpm中没有chroot的工作版本

你应该从那开始

然后,在池中定义chroot之后:

chroot = /opt/jail/example/home/example
您必须从此池中的其他设置中删除此路径:

  • chdir
  • php设置,如
    php\u admin\u value[open\u basedir]
    php\u value[include\u path]
    php\u admin\u value[upload\u tmp\u dir]
    以及使用tmp目录的所有设置
有些人似乎忽略了chroot类的
slowlog

所以你有一个
listen=/var/run/php_fpm_example.sock
,它的意思是
/opt/jail/example/home/example/var/run/php_fpm_example.sock
,这应该是apache
FastCGIExternalServer
的路径


配置带有chrooted php fpm和FastCGIExternalServer的Apache非常困难,我在chroot中使用了一个假的完整目录路径符号链接(丑陋),但是对于新的Apache2.4,您应该试着改用或用Nginx替换Apache。

在php fpm中是否有没有chroot的工作版本

你应该从那开始

然后,在池中定义chroot之后:

chroot = /opt/jail/example/home/example
您必须从此池中的其他设置中删除此路径:

  • chdir
  • php设置,如
    php\u admin\u value[open\u basedir]
    php\u value[include\u path]
    php\u admin\u value[upload\u tmp\u dir]
    以及使用tmp目录的所有设置
有些人似乎忽略了chroot类的
slowlog

所以你有一个
listen=/var/run/php_fpm_example.sock
,它的意思是
/opt/jail/example/home/example/var/run/php_fpm_example.sock
,这应该是apache
FastCGIExternalServer
的路径


使用chrooted php fpm和FastCGIExternalServer配置Apache相当困难,我在chroot中使用了一个假的完整目录路径符号链接(丑陋),但是对于新的Apache2.4,您应该尝试使用Nginx替代Apache。

您可以使用doc\u root php.ini指令来避免chroot目录中的符号链接。 在您的例子中,将此指令添加到php fpm conf文件(/etc/php5/fpm/pool.d/example.conf)中:


您可以使用doc_root php.ini指令来避免chroot目录中的符号链接。 在您的例子中,将此指令添加到php fpm conf文件(/etc/php5/fpm/pool.d/example.conf)中:


我花了很多时间试图绕过2.4.10中chroot内部的符号链接,但是没有用。mod_proxy_fcgi不使用UDS(我能说的最好),所以这似乎仍然是使这些部分一起工作的唯一方法(php fpm、chroot、UDS)。我花了很多时间试图绕过2.4.10中chroot内部的符号链接,但没有用。mod_proxy_fcgi不能与UDS一起工作(我能说的最好),因此这似乎仍然是使这些部分一起工作的唯一方法(php-fpm、chroot、UDS)