Re: [問題] 有關exec()在linux上的使用
※ 引述《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)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 4 篇):