Re: [問題] 有關exec()在linux上的使用

看板PHP作者 (Somebody Help Me)時間13年前 (2011/02/01 22:15), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/4 (看更多)
※ 引述《unhappy (也太空虛了八?)》之銘言: : ※ [本文轉錄自 Linux 看板 #1DI07dTy ] : 作者: unhappy (也太空虛了八?) 看板: Linux : 標題: [問題] 有關exec()在linux上的使用 : 時間: Tue Feb 1 20:51:48 2011 : 這有一個程式是用python寫的 : 然後我現在要用php用system call的方式 : 把這個程式的output出來成為一個xml的格式 : <? : $now=date("Y-m-d-h-i"); : $newfile=fopen("/home/wei/outputs/".$now.".txt",'w+') : //建立一個可寫的檔案然後是空白的 : exec("cd /home/wei/app"); : exec("/home/wei/app/app.py 參數 >/home/wei/outputs/".$now.".txt"); : //把她輸出的結果輸到該txt檔 : 可是就很奇怪不能work : 但如果我沒丟變數的話 : 就有辦法寫進去那個檔案裏面 : 有人知道為什麼嗎?有點不知道在這裡問恰不恰當拜託大家了 首先,你必需先把二行執行合成一行,不然他不會延序上一個執行序 然後建議你把這些指令合併成一支 sh for_work.sh #!/bin/bash NOW=`date +%Y-%m-%d-%I-%M` cd /home/wei/app python /home/wei/app/app.py "$1" > /home/wei/outputs/$NOW.txt chmod +x for_work.sh 然後你也要確定你的 app.py 那些,用 apache 或 nobody 的權限真的可以操作 甚至 /home/wei/outputs 的目錄也是 apache或nobody 的權限可以寫入才行 然後你用你的exec去執行 exec("./for_work.sh \"參數\"); 如此可以減少一些錯誤 如果只是要測試,exec改成system 然後後面加上exit(); 直接看看吐出什麼錯誤訊息最快 -- 3WA訓練家的工作室 宗旨:諸葛單中,謝謝 個人佈弱格 網址:http://3wa.tw -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.240.83.12 ※ 編輯: shadowjohn 來自: 123.240.83.12 (02/01 22:54) ※ 編輯: shadowjohn 來自: 123.240.83.12 (02/01 22:57)
文章代碼(AID): #1DI1Lv-H (PHP)
文章代碼(AID): #1DI1Lv-H (PHP)