hor*_*bzz 1 apache perl upload cgi fastcgi
我在Debian Lenny机器上有2个不同的Web服务器.一个运行FastCGI(TRAC),另一个Web服务器运行PHP和一些CGI脚本.所以我目前启用了2个Apache2模块(cgi和fcgi)以及相应的2个vhosts设置.我对这两个模块同时运行没有其他特别的兴趣.
所以我想保持只运行Apache fastcgi模块,因为它看起来更有效率.
您能否确认以下评估是对还是正确?
1-我将无法做什么/更改TRAC站点(已经运行fcgi)
2-我必须调整其他Web服务器vhost以使用fastcgi脚本的处理程序设置
3-我将只需要更改perl模块从"使用CGI"到"使用CGI :: Fast"
4-我将能够保留perl现有CGI脚本的其余部分
而不需要其他更改5-我不需要使用CGI :: Apache但CGI: :Web服务器脚本中的FastCGI(i/o当前CGI模块)
我希望我的观点很明确,因为它对我来说有点陌生......
谢谢
编辑:
thx为Naveed和J-16的提示,
这是我做的,如果它可以帮助其他人让它工作:
哼,用CPAN安装CGI :: Fast,然后它运行得更好..
在Debian上已经安装了libperl
perl -MCPAN -e shell
cpan> install CGI::Fast
Run Code Online (Sandbox Code Playgroud)将文件名从*.cgi更改为*.fcgi,
编辑:修改文件上传代码,因为初始脚本不再起作用(仍然不明白为什么),所以我不得不用这样一个替换while循环:
open(FILE,">$upload_dir/$file_name")
while ($bytes_count = read($file_query,$buffer,2096)) {
$size += $bytes_count;
print FILE $buffer;
}
close(FILE);
Run Code Online (Sandbox Code Playgroud)完成.
世界还不完美,但终于有效了.
除了更改使用CGI以使用CGI :: Fast之外,您还需要做更多的工作.确保用while循环包装CGI脚本,文档说明http://p3rl.org/CGI::Fast
use CGI::Fast;
while (CGI::Fast->new()) {
# The original CGI code goes in here
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1451 次 |
| 最近记录: |