Debian Stretch 上的 PHP 和 suexec

Debian Stretch 上的 PHP 和 suexec

我想得到苏执行程序在 Debian Stretch (Apache 2.4.25) 上使用 PHP。

我加载了 Debian 软件包的默认模块集以及cgidphp7.0.

这是VirtualHost我在测试系统上使用的块:

<VirtualHost *:80>
        ServerAdmin webmaster@localhost
        DocumentRoot /var/www

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

        ScriptAlias /cgi-bin/ /var/www/cgi-bin/
        <Directory "/var/www/cgi-bin">
                AllowOverride None
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Require all granted
        </Directory>
        SuexecUserGroup testuser testuser
</VirtualHost>

这可以通过简单的 perl 脚本正常工作,/var/www/cgi-bin打印进程的 UID。该脚本打印1000,验证 suexec 是否正常工作。我还得到了预期的行suexec.log

[2017-07-28 11:54:27]: uid: (1000/testuser) gid: (1000/testuser) cmd: moo.cgi

但是,当我使用类似的 PHP 脚本时,suexec永远不会调用该脚本,并且该脚本以 Apache 用户身份运行。

如何让 suexec 与 PHP 脚本一起使用?

答案1

启用的 php7.0 模块处理您的 PHP 页面。禁用它,安装php-cgi并启用它,就像

AddHandler cgi-handler .php
Action cgi-handler /usr/bin/php-cgi7.0

相关内容