因此。我查看我的剧本
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。也许这是问题?
答案 0 :(得分:0)
奥基。 这是我的错。 这个脚本是在Windows mashine上编写的,我暂时忘记了这个事实。 所以我试着删除回车符号。 我的脚本没有用。
Silution是:
perl -pi -e 's/\r\n/\n/g /path/to/your/script'