2
我正在運行以下代碼。它的功能是將文本文件拆分爲以'_part'結尾的部分,然後調用帶有標誌的同一腳本來處理文件 - 將內容上傳到Drupal系統。在php中運行shell_exec導致web服務器掛起
發生什麼事是腳本運行並完成工作,所有調用的腳本也完成了,我可以看到結果。但每次運行後,Web服務器都會停止響應。有什麼基本的,我失蹤或做錯了?
if(isset($argv[3])){
$isSplit = $argv[3] == 'true' ? true : false;
}
if($isSplit){
$fileSplitter = new CSVFileParts($fileName);
$parts = $fileSplitter->split_file();
echo 'Splited file to '.$parts.' parts'.PHP_EOL;
for($part =0; $part < $parts; $part++){
echo shell_exec('php Service.php u ./partial_files/'.basename($fileName).'.part_'.$part.' false > /dev/null 2>/dev/null &');
}
}else{
$log->lwrite('uploading '.$argv[2]);
$drupalUploader = new DrupalUploader($fileName, $log);
$drupalUploader->upload();
}
你能嘗試回聲了shell_exec('PHP Service.phpü。 /partial_files/'.basename($fileName).'.part_'.$part。'>/dev/null; echo $?'); – Wesley
我也很好奇,如果$部分VAR是你有多少部分或數組的計數。因爲在你的數組中你可以這樣做$ part <$ parts,也許可以試試sizeof($ parts) – Wesley
你確定腳本完成了嗎?你寫了,你可以看到結果,但你怎麼跟蹤腳本完成? – hakre