我有三個PHP腳本。一,我從init腳本開始。第二個由第一個自身啓動,第二個使用shell_exec
通過定期向其傳遞各種參數來從第三個腳本獲取輸出。shell_exec返回NULL,但從控制檯嘗試時,它的工作原理
但它沒有發生。當我var_dump
輸出shell_exec
,在第二個腳本中,我得到NULL
。但是,當我在第二個腳本中打印shell_exec
中使用的實際命令並嘗試將其輸入到控制檯時,它工作得非常好!
我試着從同一個用戶的控制檯啓動init腳本的命令。
這可能是一個權限問題。但我有適當的權限設置即
- + X的第三個腳本
- 第三腳本(實際上所有的三都)是由相同的用戶和組我使用控制檯
注 - 我試着開始家當以及通過移除家當和腳本路徑前添加php
第三腳本。有了根,一切運行良好。
而且,只是一個說明,第一個腳本,第二腳本的輸出重定向到一個日誌文件(這是我發現的第三個腳本上shell_exec
返回NULL
)
UPDATE:從第二個腳本的代碼,它使用shell_exec
$command = "/var/data/user-data.php '{$user}' '{$request['token']}' '{$request['secret']}'";
$data = json_decode(shell_exec($command), true);
我試圖打印$command
也var_dump(shell_exec($command))
。前者返回,預計我們的(PARAMS),後者返回NULL
發佈使用 – 2011-10-17 04:26:50
@Dagon完成確切的代碼你。請檢查。 – kapeels