Subversion Repositories php-qbpwcf

Rev

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

Rev 284 Rev 287
Line 27529... Line 27529...
27529
	#$conf["keepServiceUp"]="false";
27529
	#$conf["keepServiceUp"]="false";
27530
	#$conf["cmd::keepServiceUp"]["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秒內結束為正常,反之為異常.
27530
	#$conf["cmd::keepServiceUp"]["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秒內結束為正常,反之為異常.
27531
	#$conf["cmd::keepServiceUp"]["checkListen"]=array(array("ip"=>169.254.1.1:443/tcp,"addr"=>/usr/lib/qbpwcf/qbpwcf-usock.sock,"name"=>"addr"),"name"=>"httpd");
27531
	#$conf["cmd::keepServiceUp"]["checkListen"]=array(array("ip"=>169.254.1.1:443/tcp,"addr"=>/usr/lib/qbpwcf/qbpwcf-usock.sock,"name"=>"addr"),"name"=>"httpd");
27532
	#$conf["cmd::keepServiceUp"]["interval"],字串,檢查沒問題後,要多少秒後再檢查一次,預設為30秒,亦即"30".
27532
	#$conf["cmd::keepServiceUp"]["interval"],字串,檢查沒問題後,要多少秒後再檢查一次,預設為30秒,亦即"30".
27533
	#$conf["cmd::keepServiceUp"]["interval"]="30";
27533
	#$conf["cmd::keepServiceUp"]["interval"]="30";
-
 
27534
	#$conf["runAfertService"],陣列,每個元素代表要在哪個服務啟動後再運行,預設不設定.
-
 
27535
	#$conf["runAfertService"]=array();
27534
	#參考資料:
27536
	#參考資料:
27535
	#無.
27537
	#無.
27536
	#備註:
27538
	#備註:
27537
	#無.
27539
	#無.
27538
	*/
27540
	*/
Line 27598... Line 27600...
27598
		#$conf["canNotBeEmpty"],字串陣列,哪些必填參數的內容不得為空字串或空陣列,僅當$conf["canBeEmptyString"]為"true"時會生效.
27600
		#$conf["canNotBeEmpty"],字串陣列,哪些必填參數的內容不得為空字串或空陣列,僅當$conf["canBeEmptyString"]為"true"時會生效.
27599
		#$conf["canNotBeEmpty"]=array();
27601
		#$conf["canNotBeEmpty"]=array();
27600
		#$conf["canBeEmpty"],字串陣列,哪些必填參數的內容可為空字串或空陣列,僅當$conf["canBeEmptyString"]為"false"時會生效.
27602
		#$conf["canBeEmpty"],字串陣列,哪些必填參數的內容可為空字串或空陣列,僅當$conf["canBeEmptyString"]為"false"時會生效.
27601
		#$conf["canBeEmpty"]=array();
27603
		#$conf["canBeEmpty"]=array();
27602
		#$conf["skipableVariableCanNotBeEmpty"],字串陣列,哪些可省略參數不可以為空字串或空陣列.
27604
		#$conf["skipableVariableCanNotBeEmpty"],字串陣列,哪些可省略參數不可以為空字串或空陣列.
27603
		$conf["variableCheck::checkArguments"]["skipableVariableCanNotBeEmpty"]=array("params","enable","startNow","description","keepServiceUp","cmd::keepServiceUp");
27605
		$conf["variableCheck::checkArguments"]["skipableVariableCanNotBeEmpty"]=array("params","enable","startNow","description","keepServiceUp","cmd::keepServiceUp","runAfertService");
27604
		#$conf["skipableVariableName"],陣列字串,爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableName"] = array("id","account","password");
27606
		#$conf["skipableVariableName"],陣列字串,爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableName"] = array("id","account","password");
27605
		$conf["variableCheck::checkArguments"]["skipableVariableName"]=array("params","enable","startNow","description","keepServiceUp","cmd::keepServiceUp");
27607
		$conf["variableCheck::checkArguments"]["skipableVariableName"]=array("params","enable","startNow","description","keepServiceUp","cmd::keepServiceUp","runAfertService");
27606
		#$conf["skipableVariableType"],陣列字串,爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableType"] = array("string",integer,"double");
27608
		#$conf["skipableVariableType"],陣列字串,爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableType"] = array("string",integer,"double");
27607
		$conf["variableCheck::checkArguments"]["skipableVariableType"]=array("array","string","string","string","string","array");
27609
		$conf["variableCheck::checkArguments"]["skipableVariableType"]=array("array","string","string","string","string","array","array");
27608
		#$conf["skipableVarDefaultValue"],字串陣列,每個不存在的可省略變數要初始化為什麼,null與代表不指定,若預設值是參數之一,請將$c)onf["mustBeFilledVar"]改成"\$conf["\mustBeFilledVar\"]".
27610
		#$conf["skipableVarDefaultValue"],字串陣列,每個不存在的可省略變數要初始化為什麼,null與代表不指定,若預設值是參數之一,請將$c)onf["mustBeFilledVar"]改成"\$conf["\mustBeFilledVar\"]".
27609
		$conf["variableCheck::checkArguments"]["skipableVarDefaultValue"]=array(null,"true","true","service description.","false",null);
27611
		$conf["variableCheck::checkArguments"]["skipableVarDefaultValue"]=array(null,"true","true","service description.","false",null,null);
27610
		#$conf["disallowAllSkipableVarIsEmpty"],字串,是否允許每個可省略參數都為空字串,預設為"true"允許,反之為"false".
27612
		#$conf["disallowAllSkipableVarIsEmpty"],字串,是否允許每個可省略參數都為空字串,預設為"true"允許,反之為"false".
27611
		#$conf["disallowAllSkipableVarIsEmpty"]="";
27613
		#$conf["disallowAllSkipableVarIsEmpty"]="";
27612
		#$conf["disallowAllSkipableVarIsEmptyArray"],字串,是否允許每個可省略參數都為空陣列,預設為"true"允許,反之為"false".
27614
		#$conf["disallowAllSkipableVarIsEmptyArray"],字串,是否允許每個可省略參數都為空陣列,預設為"true"允許,反之為"false".
27613
		#$conf["disallowAllSkipableVarIsEmptyArray"]="";
27615
		#$conf["disallowAllSkipableVarIsEmptyArray"]="";
27614
		#$conf["arrayCountEqualCheck"],字串陣列,為檢查哪些陣列參數的元素數量要一樣,$conf["arrayCountEqualCheck"][$i]=array()為第$i組key為哪些的變數其元素數量要相等.
27616
		#$conf["arrayCountEqualCheck"],字串陣列,為檢查哪些陣列參數的元素數量要一樣,$conf["arrayCountEqualCheck"][$i]=array()為第$i組key為哪些的變數其元素數量要相等.
Line 27656... Line 27658...
27656
		$serviceFileContent[]="Description= ".$conf["description"];
27658
		$serviceFileContent[]="Description= ".$conf["description"];
27657
 
27659
 
27658
		#空一行
27660
		#空一行
27659
		$serviceFileContent[]="";
27661
		$serviceFileContent[]="";
27660
 
27662
 
27661
		#網路連線後才執行該服務
27663
		#設置要在哪些服務啟動後再啟動
27662
		$serviceFileContent[]="After=network-pre.target dbus.service network.target network.service httpd.service";
27664
		$afterServiceStr="After=network-pre.target dbus.service network.target network.service httpd.service";
-
 
27665
 
-
 
27666
		#如果有設置runAfertService
-
 
27667
		if(isset($conf["runAfertService"])){
-
 
27668
		
-
 
27669
			#將其轉存成用空格間隔的字串
-
 
27670
			#函式說明:
-
 
27671
			#將一維陣列轉換為用特定符號間隔的字串,ex:array("1","2","3") to "a;b;c;".
-
 
27672
			#回傳的結果:
-
 
27673
			#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
-
 
27674
			#$result["function"],當前執行的function名稱
-
 
27675
			#$result["error"],錯誤訊息陣列.
-
 
27676
			#$result["content"],處理好的字串.
-
 
27677
			#$result["argu"],使用的參數.
-
 
27678
			#必填參數:
-
 
27679
			#$conf["inputArray"],字串陣列,要轉成字串的一維陣列.
-
 
27680
			$conf["arrays::arrayToString"]["inputArray"]=array();
-
 
27681
			#可省略參數:
-
 
27682
			#$conf["spiltSymbol"],字串,用來區隔字串的符號,預設為;
-
 
27683
			$conf["arrays::arrayToString"]["spiltSymbol"]=" ";
-
 
27684
			#$conf["skipEnd"],字串,結尾是否不要加上符號,預設為"false",要加上符號,"true"代表不要加上符號。
-
 
27685
			$conf["arrays::arrayToString"]["skipEnd"]="true";
-
 
27686
			#$conf["spiltSymbolAtStart"],字串,是否要在開頭加上spiltSymbol,預設為"false",代表不要;反之為“true”.
-
 
27687
			#$conf["spiltSymbolAtStart"]="";
-
 
27688
			#參考資料:
-
 
27689
			#無.
-
 
27690
			#備註:
-
 
27691
			#無.
-
 
27692
			$arrayToString=arrays::arrayToString($conf["arrays::arrayToString"]);
-
 
27693
			unset($conf["arrays::arrayToString"]);
-
 
27694
		
-
 
27695
			#如果執行異常
-
 
27696
			if($arrayToString["status"]==="false"){
-
 
27697
 
-
 
27698
				#設置執行失敗
-
 
27699
				$result["status"]="false";
-
 
27700
 
-
 
27701
				#設置錯誤訊息
-
 
27702
				$result["error"]=$arrayToString;
-
 
27703
 
-
 
27704
				#回傳結果
-
 
27705
				return $result;
-
 
27706
 
-
 
27707
				}#if end
-
 
27708
				
-
 
27709
			#設置要再哪些服務啟動後再啟動
-
 
27710
			$afterServiceStr=$afterServiceStr.$arrayToString["content"];
-
 
27711
		
-
 
27712
			}#if end
-
 
27713
 
-
 
27714
		#設置要在哪些服務執行後才執行該服務
-
 
27715
		$serviceFileContent[]=$afterServiceStr;
27663
 
27716
 
27664
		#空一行
27717
		#空一行
27665
		$serviceFileContent[]="";
27718
		$serviceFileContent[]="";
27666
 
27719
 
27667
		#服務的 Service 識別
27720
		#服務的 Service 識別