Perl上的脚本不起作用。 Apache给了我500内部服务器错误

时间:2014-09-19 05:39:51

标签: apache perl phpmyadmin

因此。我查看我的剧本

perl -cw /var/www/cgi/env.pl
var/www/cgi/env.pl syntax OK

我在命令行中仔细检查它。它起作用并向我展示我的环境价值。

我的/etc/apache2/sites-available/mysite.com看起来像这样:

    ServerAdmin webmaster @ localhost     ServerName mysite.com

DocumentRoot /var/www
<Directory />
    Options FollowSymLinks +ExecCGI
    AllowOverride None
    AddHandler cgi-script .cgi .pl
</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">
    Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
    Order allow,deny
    allow from all
</Directory>

ErrorLog ${APACHE_LOG_DIR}/error.log

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn

CustomLog ${APACHE_LOG_DIR}/access.log combined

Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
    Options Indexes MultiViews FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
    Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>

它应该可以工作,但我有500错误。 Apache日志说:

[Fri Sep 19 09:29:04 2014] [error] [client 127.0.0.1] (2)No such file or directory: exec of '/var/www/cgi/env.pl' failed
[Fri Sep 19 09:29:04 2014] [error] [client 127.0.0.1] Premature end of script headers: env.pl

我该怎么做才能让它发挥作用? phpmyadmin是否有可能像这样流入apache服务器。我做not use php除了phpmyadmin for database。也许这是问题?

1 个答案:

答案 0 :(得分:0)

奥基。 这是我的错。 这个脚本是在Windows mashine上编写的,我暂时忘记了这个事实。 所以我试着删除回车符号。 我的脚本没有用。

Silution是: perl -pi -e 's/\r\n/\n/g /path/to/your/script'