【问题标题】:Script on Perl doesn't work. Apache gave me 500 Internal Server ErrorPerl 上的脚本不起作用。 Apache 给了我 500 内部服务器错误
【发布时间】:2014-09-19 05:39:51
【问题描述】:

所以。我检查我的脚本

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

我在命令行中仔细检查它。它有效,并向我展示了我的环境值。

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

ServerAdmin webmaster@localhost 服务器名称 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。也许这就是问题所在?

【问题讨论】:

  • 检查脚本的#!shebang
  • @Miller 我用了whereis perl 并检查了一下,没问题
  • 好点,在文本模式下 ftp 从 Windows 到 Linux 或 Unix 的任何文本文件。并使用 view - b 文件名查看源代码一秒钟

标签: apache perl phpmyadmin


【解决方案1】:

好的。 这是我的错误。 这个脚本是在 Windows 机器上编写的,我暂时忘记了这个事实。 所以我试图删除回车符号。 现在我的脚本可以工作了。

解决办法是: perl -pi -e 's/\r\n/\n/g /path/to/your/script'

【讨论】:

  • 有些人对dos2unix 做同样的事情。这样你甚至可以清理任何 EOF 标记。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-04
  • 2014-11-18
  • 2016-10-28
  • 2015-09-26
  • 2013-11-13
  • 1970-01-01
相关资源
最近更新 更多