Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/10.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
Perl cgi在apache2中工作_Perl_Docker_Apache2_Cgi - Fatal编程技术网

Perl cgi在apache2中工作

Perl cgi在apache2中工作,perl,docker,apache2,cgi,Perl,Docker,Apache2,Cgi,我的cgi脚本是用Perl(*.cgi)编写的,位于不同的文件夹中。当cgi脚本加载到浏览器中时,实际的脚本将出现,而不是HTML 日志显示: phpapache_1 | 172.19.20.214 - - [15/Jun/2018:09:51:24 +0000] "GET /blast/blast_link2.cgi HTTP/1.1" 304 181 "http://131.181.10.150:8080/" "Mozilla/5.0 (Macintosh; Intel Mac OS X

我的cgi脚本是用Perl(*.cgi)编写的,位于不同的文件夹中。当cgi脚本加载到浏览器中时,实际的脚本将出现,而不是HTML

日志显示:

phpapache_1  | 172.19.20.214 - - [15/Jun/2018:09:51:24 +0000] "GET /blast/blast_link2.cgi HTTP/1.1" 304 181 "http://131.181.10.150:8080/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36"
Dockerfile如下所示:

FROM debian:jessie
# based on https://github.com/docker-library/php/blob/master/5.6/jessie/apache/Dockerfile

RUN apt-get update  && apt-get install -y --no-install-recommends \
        libapache2-mod-perl2 \
        libcgi-pm-perl \
        php5-cgi \
        php5-mysql \
        libapache2-mod-php5 \
        php5-mysql \
        php5-gd && \
        rm -rf /var/lib/apt/lists/*
...

COPY apache2-foreground /usr/local/bin/
RUN chmod +x /usr/local/bin/apache2-foreground

WORKDIR /var/www/html
RUN /usr/sbin/a2enmod cgi
RUN echo "<Directory /var/www/html/*>" >> /etc/apache2/apache2.conf
RUN echo "Options ExecCGI Includes FollowSymlinks" >> /etc/apache2/apache2.conf
RUN echo "AddHandler cgi-script .pl" >> /etc/apache2/apache2.conf
RUN echo "</Directory>" >> /etc/apache2/apache2.conf

EXPOSE 80
CMD ["apache2-foreground"]
来自debian:jessie的

#基于https://github.com/docker-library/php/blob/master/5.6/jessie/apache/Dockerfile
运行apt-get-update&&apt-get-install-y--不建议安装\
libapache2-mod-perl2\
libcgipmperl\
php5 cgi\
php5-mysql\
libapache2-mod-php5\
php5-mysql\
php5 gd&\
rm-rf/var/lib/apt/lists/*
...
复制apache2前台/usr/local/bin/
运行chmod+x/usr/local/bin/apache2前台
WORKDIR/var/www/html
运行/usr/sbin/a2enmod cgi
运行echo”“>>/etc/apache2/apache2.conf
运行echo“Options ExecCGI包括以下语法链接”>>/etc/apache2/apache2.conf
运行echo“AddHandler cgi script.pl”>>/etc/apache2/apache2.conf
运行echo”“>>/etc/apache2/apache2.conf
暴露80
CMD[“apache2前景”]
我错过了什么


提前感谢您

您是否尝试过将
运行echo“AddHandler cgi script.pl
更改为
运行echo”AddHandler cgi script.cgi

在我删除这些脚本后,它会正常工作