折腾了好久,原来是这样............Blast

       做网站开发,要在网页中调用blast 命令,开始是在localhost (机子是win7 ),调用命令完全没问题,后来网站发布要上传到远程服务器(unix)上,结果怎么折腾就是不运行命令
        $tempFile = tempnam("/tmp", "MCK");
        $handle = fopen($tempFile , "w");
        fwrite($handle, $inputSeq);
        fclose($handle);
        exec("./blastall -p blastp -d Blast/SUMOdb -i $tempFile -e $eValue  -m 8",$array);


最后的exec 命令就是不运行,blast 命令有很多参数,开始我还以为是temp 临时文件没生成,后来,又用命令来读取文件的内容,但是的确还能读到,那就排除了后三个参数的错误,也就是只剩下前面的三个,p 参数也是肯定没问题的,那就只剩下第一个的balstall 命令,还有第三个的生成的库文件,那应该就是在不同的系统下的blastall 的可执行文件是不同的,然后就把blastall 换成在linux 下的可执行文件,以为这样就可以了,可是。。。。。。生成的库文件也是在不同系统下的是不同的,好吧,在linux 系统下再跑一下blast 的formatdb 程序,生成的三个库文件在传上去,这下终于OK 啦!!!

你可能感兴趣的:(linux,unix,服务器)