[英]Running webkit2png from a php script works in Terminal, but not in browser
[英]PHP Script works in the terminal but not the browser
我正在嘗試執行exec
命令,但遇到了問題。 當我運行以下代碼時,通過瀏覽器運行它不起作用。 但是如果我將$str
copy的輸出粘貼到終端中,它就可以正常工作。 是什么原因造成的,我該如何解決? 目前,我正在localhost
運行。
$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!";
當您通過瀏覽器運行它時,它會以沒有正確權限的Web服務器用戶身份執行。 在終端中運行它時,它將以您登錄時所使用的任何用戶身份執行。 檢查apache(假設您正在使用apache)用戶對腳本/目錄具有正確的權限。
該問題可能與權限有關。
當您從外殼程序運行某些程序時,它將在您的用戶帳戶下運行。 Web服務器將以不同的方式運行,通常對任何事物的權限都很少。 為Web服務器的帳戶授予適當的權限,或者以其他帳戶運行服務器(不建議!)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.