1. 程式人生 > >php exec返回狀態為1

php exec返回狀態為1

之前在用到php exec 時 總是儲存,返回狀態1,那這時怎麼排查呢

exec('ls 2>&1', $output, $return_val); 
print_r($output); 



使用 2>&1, 命令就會輸出shell執行時的錯誤到$output變數, 輸出該變數即可分析。
備註: exec有3個引數,第一個是要執行的命令,第二個是引數是一個數組,陣列的值是由第一個命令執行後生成的,第三個引數執行的狀態,0表示成功,其他都表示失敗。
附:返回狀態詳解

Table D-1. "Reserved" Exit Codes

Exit Code NumberMeaningExampleComments
1Catchall for general errorslet "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 1
126Command invoked cannot executePermission problem or command is not an executable
127"command not found"Possible problem with $PATH
 or a typo
128Invalid argument to exitexit 3.14159exit takes only integer args in the range 0 - 255 (see footnote)
128+nFatal error signal "n"kill -9 $PPID of script$? returns 137 (128 + 9)
130Script terminated by Control-CControl-C is fatal error signal 2, (130 = 128 + 2, see above)
255*Exit status out of rangeexit -1exit takes only integer args in the range 0 - 255

相關推薦

php exec返回狀態1

之前在用到php exec 時 總是儲存,返回狀態1,那這時怎麼排查呢exec('ls 2>&1', $output, $return_val); print_r($output);

手動修改PHP頁面返回狀態

pre nbsp clas spa http style sta div code <?php //比如當前頁面要返回404狀態碼 header("HTTP/1.1 404 Not Found"); header("Status: 404 Not Found

c#中 命令copy 已退出,返回1

col .cn 文件 返回 copy nbsp spa round img 後期生成時間命令行,可以指定生成目錄,是否刪除.pdb文件 c#中 命令copy 已退出,返回值為1

解決windows下UDP網路資料接收時recvfrom時返回 -1 但是緩衝區buffer有資料的問題

引言 最近在windows下編寫UDP網路伺服器,用於接收來自Linux開發板傳送過來的資料,遇到返回值-1 但是接收buffer中資料完整,本文介紹除錯過程以及在除錯過程中思路和方法。 一 問題描述 windows作為UDP伺服器端,Linux下作為客戶端,windows下每次

OCIEnvCreate 失敗,返回程式碼 -1,但錯誤訊息文字不可用 問題處理

OCIEnvCreate 失敗,返回程式碼為 -1,但錯誤訊息文字不可用 問題處理如下: 解決方法一:更換連線方式  config 檔案配置: <add name="MASTER_DB" connectionString="Provider=MSDAORA;Data Source=jhe

compareTo返回-11 、 0 的排序問題

首先,先看程式碼內容:(希望大家自己可以執行嘗試,以加深記憶和理解) package s11; import java.util.Comparator; import java.util.TreeSet; classStudentimplementsCom

VS2013 error MSB6001 “cmd.exe” 返回1

 轉載來自blog:http://blog.csdn.net/jhgameboy/article/details/23624059    簡單的說,就是在Microsoft.CppCommon.targets中找到         Look for the Cust

ajax請求返回狀態200但還是進入error事件

最近遇到一個問題,傳送一個ajax請求,請求成功了,並且放回狀態為200,但是就是不進入success事件,新增error事件竟進入了error事件。 程式碼如下: $.ajax({ url:$WEB_ROOT_PATH+"/dataLevel/dataLevelCtrl

Ajax返回狀態200但進入error方法

前幾天在寫一個ajax請求時發生了一個詭異的問題。從後臺返回的狀態碼顯示為200,但是並沒有成功進入suceess方法。 $.ajax( {url:'', type:'post', dataTy

php.ini 將cgi.fix_pathinfo=1這一行去掉註釋將10的用意

舉例來說,開啟的危害就是假設你的網站有http://xx.com/a.jpg這樣的一張圖片,我通過http://xx.com/a.jpg/foo.php就可以檢視到這個檔案的二進位制內容,意思就是可以通過php來執行它.問題就來了,如果你的網站允許使用者上傳圖片,那麼使用者就可以構造一些惡意的程式碼

在一個排序的連結串列中,存在重複的結點,請刪除該連結串列中重複的結點,重複的結點不保留,返回連結串列頭指標。 例如,連結串列1->2->3->3->4->4->5 處理後 1->2->5

題目描述 在一個排序的連結串列中,存在重複的結點,請刪除該連結串列中重複的結點,重複的結點不保留,返回連結串列頭指標。 例如,連結串列1->2->3->3->4->4->5 處理後為 1->2->5 /* 思路:由於是排序連結串列,只需判斷

Laravel 5.1 框架返回狀態攔截

Laravel 5.1 返回資訊狀態攔截   可以在app\Exceptions\Handler.php檔案中修改, public function render($request, Exception $e) { return parent::render($reques

4. 陣列int[] intArr = new int[]{5,9,3,7,2,6},寫出一個函式可根據傳參(引數需要獲取的陣列型別:1:正序排序陣列;2:倒序排序陣列;)來進行排序,返回int

4. 陣列int[] intArr = new int[]{5,9,3,7,2,6},寫出一個函式可根據傳參(引數為需要獲取的陣列型別:1:正序排序陣列;2:倒序排序陣列;)來進行排序,返回值為int陣

PHP最全的Header給瀏覽器返回狀態碼函式

function httpStatus($num){//網頁返回碼 static $http = array ( 100 => "HTTP/1.1 100 Continue", 101 => "HTT

關於PHP中PDO抽象層,採用rowCount();方法出現返回結果0的解決方案

在學PHP的過程中,遇到一些問題,但不是全部都能夠順利得到解決,就在PDO抽象層,採用rowCount();方法出現數據能夠正常查詢出來的情況下返回結果為0,在網上搜了一天,沒有一個具體的說明和解決方案,很多朋友在問,但卻沒有人回答,因此在這裡稍微說說具體的情況及最終的解決

lanmp環境中php版本的升級7.1

chm lanmp 1.4 bsp php -v 設置權限 bubuko 沒有 ima 查看php版本的信息 vim ./lib/phps.sh 設置權限 chmod 755 ./lib/phps.sh 下載版本 ./lib/phps.sh 7.1.4 查看版

qt5.0串列埠寫資料返回-1的問題

 開發環境是vs2012,qt5.2.0版本。通過串列埠通訊與步進電機控制器進行互動。步進電機連線兩個電機驅動器,步進電機控制器控制兩個電機運動,正反轉,回零,執行到一定位置,控制輸入輸出停等基本操作。為了調整鏡頭和相機的距離,從而調整相機的放大倍率。兩個電機只能分時運動,

mybatis批量update,返回行數-1

mybatis批量更新返回結果為1,是由於mybatis的defaultExExecutorType引起的, 它有三個執行器:SIMPLE 就是普通的執行器;REUSE 執行器會重用預處理語句(prepared statements); BATCH 執行器將重用語句並執行批量更新。

php: strpos返回0的問題

php: strpos()返回子串在搜尋串中第一次出現的位置,否則返回false。出現問題:返回位置0時無法判斷是出現了還是沒有出現。(0, false)解決方法:使用 ===  or !==eg: $re = strpos($str, $key)if $re !== falseecho "match