Subversion Repositories php-qbpwcf

Rev

Rev 145 | Rev 148 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 145 Rev 146
Line 90... Line 90...
90
	echo "--keepServiceUp [yes/no] 是否要加增確保該服務在線的設定,預設為no.".PHP_EOL;
90
	echo "--keepServiceUp [yes/no] 是否要加增確保該服務在線的設定,預設為no.".PHP_EOL;
91
	echo "--interval [秒數] 要多少時間就檢查一次服務是否在線.".PHP_EOL;
91
	echo "--interval [秒數] 要多少時間就檢查一次服務是否在線.".PHP_EOL;
92
	echo "--checkListenIp [ipv4/ipv6]:[port]/[tcp/udp] 要檢查哪個ip位置的port與protocol有被使用,才代表服務有在線.".PHP_EOL;
92
	echo "--checkListenIp [ipv4/ipv6]:[port]/[tcp/udp] 要檢查哪個ip位置的port與protocol有被使用,才代表服務有在線.".PHP_EOL;
93
	echo "\tip可用*代表所有網路界面取得的ip.".PHP_EOL;
93
	echo "\tip可用*代表所有網路界面取得的ip.".PHP_EOL;
94
	echo "--checkListenAddr [path to socket] 要檢查哪個路徑的unix domain socket有被使用,才代表服務有在線".PHP_EOL;
94
	echo "--checkListenAddr [path to socket] 要檢查哪個路徑的unix domain socket有被使用,才代表服務有在線".PHP_EOL;
-
 
95
	echo "--checkCmd [command to check service] 用於確認服務是否有在線的指令,timeout為10秒.".PHP_EOL;
-
 
96
	
95
	#結束執行
97
	#結束執行
96
	exit;
98
	exit;
97
 
99
 
98
	}#function help end
100
	}#function help end
99
 
101
 
Line 169... Line 171...
169
#$conf["canBeEmpty"],字串陣列,哪些必填參數的內容可為空字串或空陣列,僅當$conf["canBeEmptyString"]為"false"時會生效.
171
#$conf["canBeEmpty"],字串陣列,哪些必填參數的內容可為空字串或空陣列,僅當$conf["canBeEmptyString"]為"false"時會生效.
170
#$conf["canBeEmpty"]=array();
172
#$conf["canBeEmpty"]=array();
171
#$conf["skipableVariableCanNotBeEmpty"],字串陣列,哪些可省略參數不可以為空字串或空陣列.
173
#$conf["skipableVariableCanNotBeEmpty"],字串陣列,哪些可省略參數不可以為空字串或空陣列.
172
#$conf["skipableVariableCanNotBeEmpty"]=array("backTime");
174
#$conf["skipableVariableCanNotBeEmpty"]=array("backTime");
173
#$conf["skipableVariableName"],陣列字串,爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableName"] = array("id","account","password");
175
#$conf["skipableVariableName"],陣列字串,爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableName"] = array("id","account","password");
174
$conf["skipableVariableName"]=array("runOnBoot","runNow","keepServiceUp","interval","checkListenIp","checkListenAddr");
176
$conf["skipableVariableName"]=array("runOnBoot","runNow","keepServiceUp","interval","checkListenIp","checkListenAddr","checkCmd");
175
#$conf["skipableVariableType"],陣列字串,爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableType"] = array("string",integer,"double");
177
#$conf["skipableVariableType"],陣列字串,爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableType"] = array("string",integer,"double");
176
$conf["skipableVariableType"]=array("array","array","array","array","array");
178
$conf["skipableVariableType"]=array("array","array","array","array","array","array");
177
#$conf["skipableVarDefaultValue"],字串陣列,每個不存在的可省略變數要初始化為什麼,null與代表不指定,若預設值是參數之一,請將$conf["mustBeFilledVar"]改成"\$conf["\mustBeFilledVar\"]".
179
#$conf["skipableVarDefaultValue"],字串陣列,每個不存在的可省略變數要初始化為什麼,null與代表不指定,若預設值是參數之一,請將$conf["mustBeFilledVar"]改成"\$conf["\mustBeFilledVar\"]".
178
$conf["skipableVarDefaultValue"]=array(array("yes"),array("yes"),null,null,null,null);
180
$conf["skipableVarDefaultValue"]=array(array("yes"),array("yes"),null,null,null,null,null);
179
#$conf["disallowAllSkipableVarIsEmpty"],字串,是否允許每個可省略參數都為空字串,預設為"true"允許,反之為"false".
181
#$conf["disallowAllSkipableVarIsEmpty"],字串,是否允許每個可省略參數都為空字串,預設為"true"允許,反之為"false".
180
#$conf["variableCheck::checkArguments"]["disallowAllSkipableVarIsEmpty"]="false";
182
#$conf["variableCheck::checkArguments"]["disallowAllSkipableVarIsEmpty"]="false";
181
#$conf["disallowAllSkipableVarIsEmptyArray"],字串,是否允許每個可省略參數都為空陣列,預設為"true"允許,反之為"false".
183
#$conf["disallowAllSkipableVarIsEmptyArray"],字串,是否允許每個可省略參數都為空陣列,預設為"true"允許,反之為"false".
182
#$conf["disallowAllSkipableVarIsEmptyArray"]="";
184
#$conf["disallowAllSkipableVarIsEmptyArray"]="";
183
#$conf["arrayCountEqualCheck"],字串陣列,為檢查哪些陣列參數的元素數量要一樣,$conf["arrayCountEqualCheck"][$i]=array()為第$i組key為哪些的變數其元素數量要相等.
185
#$conf["arrayCountEqualCheck"],字串陣列,為檢查哪些陣列參數的元素數量要一樣,$conf["arrayCountEqualCheck"][$i]=array()為第$i組key為哪些的變數其元素數量要相等.
Line 199... Line 201...
199
	}#if end
201
	}#if end
200
 
202
 
201
#若檢查不通過
203
#若檢查不通過
202
if($checkArguments["passed"]==="false"){
204
if($checkArguments["passed"]==="false"){
203
 
205
 
204
	#debug
-
 
205
	var_dump($checkArguments);
-
 
206
 
-
 
207
	#提示用法
206
	#提示用法
208
	help();
207
	help();
209
	
208
	
210
	#結束執行
209
	#結束執行
211
	exit;
210
	exit;
Line 289... Line 288...
289
	
288
	
290
		}#foreach end
289
		}#foreach end
291
 
290
 
292
	}#if end
291
	}#if end
293
 
292
 
-
 
293
#如果有指定 checkCmd
-
 
294
if(isset($parseArgu["content"]["checkCmd"])){
-
 
295
 
-
 
296
	#針對每個 checkCmd
-
 
297
	foreach($parseArgu["content"]["checkCmd"] as $checkCmd){
-
 
298
	
-
 
299
		#記錄用於檢查服務是否在線的指令
-
 
300
		$checkListen[]=array("cmd"=>$checkCmd);
-
 
301
	
-
 
302
		}#foreach end
-
 
303
 
-
 
304
	}#if end
-
 
305
 
294
#建立暫存檔案
306
#建立暫存檔案
295
#函式說明:
307
#函式說明:
296
#於本套件位置底下的tmp資料夾下建立與回傳暫存檔案名稱路徑 
308
#於本套件位置底下的tmp資料夾下建立與回傳暫存檔案名稱路徑 
297
#回傳結果:
309
#回傳結果:
298
#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
310
#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
Line 432... Line 444...
432
	}#if end
444
	}#if end
433
 
445
 
434
#如果存在 $checkListen
446
#如果存在 $checkListen
435
if(isset($checkListen)){
447
if(isset($checkListen)){
436
 
448
 
437
	#$conf["cmd::keepServiceUp"]["checkListen"],陣列,用來判斷服務是否有正確啟動的條件,一個元素代表,其中要有一個socket info符合之,若元素的key為"ip",則其數值為[ipv4/ipv6]:port:protocol(tcp/udp);若元素的key為"addr",則其數值為unix domain socket 的位置與名稱;若元素的key為"name",則其數值為程序名稱.
449
	#$conf["cmd::keepServiceUp"]["checkListen"],#$conf["checkListen"],陣列,用來判斷服務是否有正確啟動的條件,一個元素代表,其中要有一個socket info符合之,若元素的key為"ip",則其數值為[ipv4/ipv6]:port/protocol(tcp/udp);若元素的key為"addr",則其數值為unix domain socket 的位置與名稱;若元素的key為"name",則其數值為程序名稱;若元素的key為"cmd",則其數值為一陣列,該陣列的key有cmd,其value為要執行的指令,另外一個key為timeout,其value為秒數,預設為10秒,代表指令於10秒內結束為正常,反之為異常.
438
	$conf["cmd::keepServiceUp"]["checkListen"]=$checkListen;
450
	$conf["cmd::keepServiceUp"]["checkListen"]=$checkListen;
439
 
451
 
440
	}#if end
452
	}#if end
441
	
453
	
442
#如果存在 $interval
454
#如果存在 $interval