目標: 從wordpress頁面運行簡單的Rscript。從wordpress安裝運行exec()Rscript
- 我目前正試圖在加載頁面時使用exec()來運行Rscript。該腳本創建從整數1到10的100個隨機樣本的直方圖,將系統時間寫入標題並將圖保存爲.png文件。
設置:
- 運行的WordPress安裝在Ubuntu EC2微實例
- R已經被成功地安裝和通過ssh
- 使用Exec的-PHP WordPress插件使得PHP代碼可以測試寫入並執行(測試成功)
PHP代碼(WordPress的頁內)
<?php
echo "This is the Exec-PHP 'Hello World'\n";
echo exec("date");
?>
<?php
exec("Rscript <PATH>/test.R");
?>
<img src="<Image Location>/samplePlot.png" alt="" title="Sample R" />
RSCRIPT - test.R
png("<Image Location>/samplePlot.png")
hist(sample(1:10, 100, replace = TRUE), main= Sys.time(), lwd = 5)
dev.off()
圖像文件加載,但它沒有更新,說明RSCRIPT從來沒有被執行。我已經將它歸結爲這個問題,但不確定這是爲什麼。
我該如何調試?我真的不知道任何PHP的,但我試過如下:
<?php
exec("\usr\bin\Rscript <PATH>/test.R", $output, $result);
echo $output;
echo $result
?>
將返回:
Array2
我希望得到的命令行輸出來檢查錯誤。這可能嗎?
它按預期從命令行工作嗎? r腳本需要多長時間才能運行 – 2011-12-12 22:55:27
當我以普通用戶的身份登錄時,它確實有效。該腳本執行得非常快。這可能是一個權限問題嗎?無法寫入?我將如何檢查這個?我無法從php exec()調用獲取任何輸出。 – bnjmn
我猜腳本運行時,HTML發送給用戶,所以他們下載舊版本的情節,而它正在更新 – hadley