Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.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+;php#u cgi和apache+;mod_php?_Apache_Centos_Cgi_Virtualhost_Mod Php - Fatal编程技术网

如何基于apache+;php#u cgi和apache+;mod_php?

如何基于apache+;php#u cgi和apache+;mod_php?,apache,centos,cgi,virtualhost,mod-php,Apache,Centos,Cgi,Virtualhost,Mod Php,大家好 我有一个带有Apache+mod_php站点(site1.local)的CentOS6.6服务器。我需要用php_cgi配置第二个站点(site2.local)。所以,我创建了一个用户,给了他www文件夹的权限,将site1配置为mod_php,创建了一个phpinfo.php。另外,我安装了php cgi,并尝试配置虚拟主机,仅适用于第一个站点,在第二个站点上出现错误: the requested url /cgi-bin/phpinfo.php was not found onthi

大家好

我有一个带有Apache+mod_php站点(site1.local)的CentOS6.6服务器。我需要用php_cgi配置第二个站点(site2.local)。所以,我创建了一个用户,给了他www文件夹的权限,将site1配置为mod_php,创建了一个phpinfo.php。另外,我安装了php cgi,并尝试配置虚拟主机,仅适用于第一个站点,在第二个站点上出现错误:

the requested url /cgi-bin/phpinfo.php was not found onthis server.
这是我的配置: cat/etc/httpd/conf/httpd.conf

<VirtualHost *:80>
    ServerAdmin webmaster@site1.local
    DocumentRoot /var/www/wwwmaster/site1.local
    ServerName     site1.local
    ServerAlias www.site1.local
    ErrorLog logs/site1.local-error_log
    CustomLog logs/site1.local-access_log common
</VirtualHost>

<VirtualHost *:80>
    ServerAdmin webmaster@site2.local
    DocumentRoot /var/www/wwwmaster/site2.local
    ServerName     site2.local
    ServerAlias www.site2.local

    ScriptAlias   /cgi_bin/    /usr/bin/php-cgi/
    Action        php-cgi        /cgi-bin
    AddHandler    php-cgi        php

    <Directory /usr/bin/php-cgi>
        Allow from all
    </Directory>

    <Directory "/var/www/wwwmaster/site2.local/">
        <FilesMatch "\.php">
            SetHandler    php-cgi
        </FilesMatch>
        Options Indexes FollowSymLinks    Includes ExecCGI
        AllowOverride All    
        Order Deny,Allow
        Allow from all
    </Directory>

    ErrorLog logs/site2.local-error_log
    CustomLog logs/site2.local-access_log common
</VirtualHost>

服务器管理员webmaster@site1.local
DocumentRoot/var/www/wwwmaster/site1.local
ServerName site1.local
ServerAlias www.site1.local
错误日志/site1.local-error\u日志
自定义日志/site1.local-access\u日志公用
服务器管理员webmaster@site2.local
DocumentRoot/var/www/wwwmaster/site2.local
ServerName site2.local
ServerAlias www.site2.local
ScriptAlias/cgi_-bin//usr/bin/php-cgi/
动作php-cgi/cgi-bin
AddHandler php cgi php
通融
SetHandler php cgi
选项索引如下SYMLINKS包括ExecCGI
允许超越所有
命令拒绝,允许
通融
错误日志/site2.local-error\u日志
自定义日志/site2.local-access\u日志公用

我做错了什么以及如何修复它?

您只需取消对apache配置文件中显示
NameVirtualServer*:80
的行的注释


如果您希望虚拟服务器具有多个端口,只需在apache配置文件中根据需要添加任意数量的
NameVirtualServer*:[port number]

您是指指令NameVirtualHost吗?它在配置中,但第二个站点仍然不工作。