![Apache 配置问题?为什么 Perl 脚本无法执行 - 浏览器下载脚本](https://linux22.com/image/1047640/Apache%20%E9%85%8D%E7%BD%AE%E9%97%AE%E9%A2%98%EF%BC%9F%E4%B8%BA%E4%BB%80%E4%B9%88%20Perl%20%E8%84%9A%E6%9C%AC%E6%97%A0%E6%B3%95%E6%89%A7%E8%A1%8C%20-%20%E6%B5%8F%E8%A7%88%E5%99%A8%E4%B8%8B%E8%BD%BD%E8%84%9A%E6%9C%AC.png)
我的 Apache 配置有误。我的脚本不想被执行,浏览器也不想尝试将其作为文件下载。
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName president.com
DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /var/www/cgi/
<Directory /var/www/cgi/>
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Require all granted
AddHandler cgi-script .cgi .pl
</Directory>
www-data:www-data
脚本由拥有权限的人所有755
,并且可以执行(+x
)。- 例如
#!/usr/bin/perl
。 - 错误日志是空的。
答案1
问题解决了!
我删除所有内容Require all granted
(仅适用于 Apacvhe 2.4+)并粘贴:
Order allow,deny
allow from all
我也移动AddHandler cgi-script .cgi .pl
到 DocumentRoot 目录描述