之前在用到php exec 時 總是儲存,返回狀態1,那這時怎麼排查呢
exec('ls 2>&1', $output, $return_val);
print_r($output);
使用 2>&1, 命令就會輸出shell執行時的錯誤到$output變數, 輸出該變數即可分析。
備註: exec有3個引數,第乙個是要執行的命令,第二個是引數是乙個陣列,陣列的值是由第乙個命令執行後生成的,第三個引數執行的狀態,0表示成功,其他都表示失敗。
附:返回狀態詳解
table d-1.exit"reserved"
exit codes
code number
meaning
example
comments
1catchall
for general errors
let "var1 = 1/0"
miscellaneous
errors, such as
"divide by zero"
2misuse
of shell builtins (according to bash documentation)
seldom
seen, usually defaults to exit code
1126
command
invoked cannot execute
permission
problem or command is not an executable
127"command
not found"
possible
problem with
$path
or a typo
128invalid
argument to
exit
exit
3.14159
exittakes only integer args in the range
0 - 255
(see footnote)
128+n
fatal
error signal
"n"kill -9
$ppid
of script
$?returns
137(128
+ 9)
130script
terminated by control-c
control-c
is fatal error signal
2, (130 = 128 + 2, see above)
255*
exit
status out of range
exit
-1exittakes
only integer args in the range
0 - 255
spark sumbit返回狀態為0的問題
spark是乙個實時的分布式計算引擎,在大叔據領域屬於後起之秀,表現非凡,但是spark在使用的過程中也存在不少問題,這裡主要說一下spark sumbit的問題。spark sumbit是spark提交任務的乙個指令碼,這個指令碼提交的任務可能失敗也可能成功,但是spark sumbit這個指令碼...
squid返回狀態碼
tcp hit squid發現請求資源的貌似新鮮的拷貝,並將其立即傳送到客戶端。tcp miss squid沒有請求資源的cache拷貝。tcp refersh hit squid發現請求資源的貌似陳舊的拷貝,並傳送確認請求到原始伺服器。原始伺服器返回304 未修改 響應,指示squid的拷貝仍舊是...
HTTP返回狀態碼
只列出了部分常見的 1xx 指示資訊 表示請求已接收,需要繼續處理 100 continue 客戶端應當繼續傳送請求。2xx 成功 表示請求已倍成功接收 理解 接收 200 ok 請求已成功。3xx 重定向 表示需要客戶端採取進一步的操作才能完成請求 300 multiple choices 可選重...