我試圖執行exec
命令,我有問題。當我運行下面的代碼時,它在我通過瀏覽器運行時不起作用。但如果我把$str
的輸出複製並粘貼到終端中,它工作得很好。什麼會造成這種情況,我該如何解決它?目前我正在運行localhost
。PHP腳本工作在終端,但不是瀏覽器
$php_location = "/usr/bin/php";
$data = str_replace("\"", "\\\"", json_encode($_POST));
$cwd = __DIR__;
shell_exec($str = "$php_locataion $cwd/phpExcel.php \"$data\" > /home/ryannaddy/Desktop/phpExcel.txt &");
echo $str;
這裏是文件shell_exec
呼籲:
<?php
set_time_limit(0);
$args = $argv[1];
$data = json_decode(str_replace("\\\"", "\"", $args), true);
echo "hello!";
如果我做'頂部'它說Apache是作爲'root'運行的 – 2013-03-11 15:00:50
基本上apache沒有寫入到我的桌面的權限,所以我告訴它寫給我的網站目錄。謝謝! – 2013-03-11 15:20:30