<?php
ini_set('max_execution_time', 864000);
$seq = "D:/Ractip/Sequence.txt";
$mir = "D:/Ractip/mirhominid.txt";
$shandle = fopen($seq, 'r');
$sdata = fread($shandle, filesize($seq));
$mhandle = fopen($mir, 'r');
$mdata = fread($mhandle, filesize($mir));
$sexp = explode(">", $sdata);
$mexp = explode(">", $mdata);
$i = 1;
$a = 1;
$count = count($sexp);
while($i < $count)
{
$name = explode("\n", $mexp[$a]);
$name = explode(" ", $name[0]);
$name1 = explode("\n", $sexp[$i]);
$file2 = "D:\Ractip\mir\\"."$name[1]".".txt";
$file1 = "D:\Ractip\sequence\\"."name1[0]".".txt";
if ($i == 1){
mkdir("D:/Ractip/Interactions/"."$name[1]", 0777);
}
$file = "D:/Ractip/Interactions/"."$name[1]"."/"."$name1[0]"."+"."$name[1]".".txt";
$fhandle = fopen($file, 'w');
$query = "ractip "."$file1"." "."$file2";
$exec = shell_exec($query);
print $exec;
fwrite($fhandle, $exec);
fclose($fhandle);
if ($i == $count){
$i = 1;
$a++;
}else{
$i++;
}
}
?>
這是腳本。我基本上使用一種工具來獲得大約3,750萬個組合的結果,所以你可以理解它並不是我可以自己做的事情,因此出現了這個腳本,之前我將所有候選人分成了單個文件,所以這是$ name變量的解釋我就是這樣稱呼他們的。shell_exec不能使用動態命令
的問題是shell_exec
命令,初步谷歌搜索真的沒有解釋爲什麼它是表現這種方式,但shell_exec
拒絕處理動態的命令,而不是如果我作出這樣ractip xy.txt zy.txt
一個靜態的命令,它會處理的是,我需要做的是構建命令,然後使shell_exec
處理它,但不幸的是,它不會執行,如果有人能夠解釋爲什麼這個命令以這種方式運行,以及是否有解決此問題的解決方法,這將非常有幫助。
我終於得到了各地的理解時,他說,這些都只是一些事情PHP不會做的非常好東西在論壇上一個人的意思。
哦,是的,我是通過瀏覽器部署它,如果這是說不上任何幫助。
嘗試打印您的查詢,以檢查其是否爲測試目的執行前構造良好。 – Shubhansh 2012-07-19 05:24:45
「而不是如果我是做像一個static命令‘ractip xy.txt zy.txt’這將處理」 我做過的一切,所有的工作完美,但對任何形式的動態指揮大樓的我得到蹲下。你在unix box上對嗎? – user1536806 2012-07-19 05:26:45
對嗎?這可能是一個權限問題...運行shell_exec與whoami,並看看你的用戶運行... – 2012-07-19 06:02:08