作者ian0219 (Ian)
看板Perl
标题[问题] cgi system问题
时间Wed Oct 23 16:42:51 2013
小弟最近试着想用Perl写CGI来跑BLASTP
功能是想从网站上接收资料存成一个fasta档,来跟我建好的资料库跑Blastp,
但是跑到system指令的时候却没出现text.txt,不晓得是不是我漏了甚麽东西?
#!c:\perl64\bin\perl.exe
use CGI;
$q=CGI->new;
print "Content-type: text/html\n\n";
print "<HTML>\n<HEAD>\n<TITLE>Result</TITLE>\n<BODY>\n";
$sq=$q->param('SQ');
print $sq;
open FOUT, ">output.fasta";
print FOUT $sq;
close FOUT;
$blastp_cmd="blastp.exe -task blastp -query output.fasta -db AFP.fasta
-out text.txt";
system("$blastp_cmd");
open FP1,"<text.txt";
while(<FP1>)
{
print $_."\n";
}
close FP1;
print "</BODY>\n</HTML>";
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.221.52.113
1F:推 CindyLinz:我猜是权限.. 跑 cgi 用的 user 没权限写档到那个目录 10/23 18:46
2F:→ ian0219:请问WINDOWS环境底下也会有权限的问题吗? 10/24 14:27
3F:→ CindyLinz:不熟 windows.. orz 10/24 17:06
4F:推 abliou:回二楼 如果是xp以上会有这问题 10/24 19:27
5F:推 abliou:但是我的直觉是 你的blasp没有设定到环境变数中 无法执行 10/24 19:31
6F:→ ian0219:但我如果直接用CMD执行blastp指令是可以的出结果的这样还 10/24 22:57
7F:→ ian0219:得出结果 10/24 22:58
8F:→ ian0219:是环境变数的问题吗?我在电脑上单纯跑system(...)这行指令 10/24 23:01
9F:→ ian0219:也跑得出来,但是一放进CGI里就跑不出结果.... 10/24 23:02
10F:推 abliou:s那後面的fasta档跟db档呢?建议先全部用绝对路径看看 10/25 17:34
11F:→ ian0219:db我已经建好放在cgi-bin资料夹里了,Fasta档是读取使用者 10/26 00:41
12F:→ ian0219:输入表单传给cgi开档存在cgi-bin里 10/26 00:45
13F:→ ian0219:我自己感觉好像是cgi没有使用server端程式的权限, 10/26 00:48
14F:→ ian0219:我用PRINT印出system的回传值是0 10/26 00:50
15F:→ ian0219:各位大大,我找到问题了,我勾取BLASTP以系统管理员权限 10/26 01:25
16F:→ ian0219:执行,就可以了,谢谢各位 10/26 01:25