Subversion Repositories qbpwcf-lib(archive)

Rev

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

Rev 846 Rev 858
Line 57... Line 57...
57
	echo "--dbName MariaDb service database name, default is test".PHP_EOL;
57
	echo "--dbName MariaDb service database name, default is test".PHP_EOL;
58
	echo "--dbPort MariaDb service port, default is 3306".PHP_EOL;
58
	echo "--dbPort MariaDb service port, default is 3306".PHP_EOL;
59
	echo "--sshAddrAndPort ssh service address, example: 0.0.0.0:22".PHP_EOL;
59
	echo "--sshAddrAndPort ssh service address, example: 0.0.0.0:22".PHP_EOL;
60
	echo "--headless true/false, default is false. If true, it means link allInOneForCI.php to allInOne.php".PHP_EOL;
60
	echo "--headless true/false, default is false. If true, it means link allInOneForCI.php to allInOne.php".PHP_EOL;
61
	echo "--whiteIp, outsite ip which will not auto block forever".PHP_EOL;
61
	echo "--whiteIp, outsite ip which will not auto block forever".PHP_EOL;
-
 
62
	echo "--libonly, install library only, neither service file nor executable file".PHP_EOL;
62
	exit;
63
	exit;
63
 
64
 
64
	}#function help end
65
	}#function help end
65
 
66
 
-
 
67
#debug
-
 
68
#var_dump($_SERVER["argv"]);exit;
-
 
69
 
66
#函式說明:
70
#函式說明:
67
#解析參數.
71
#解析參數.
68
#回傳結果:
72
#回傳結果:
69
#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
73
#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
70
#$reuslt["error"],執行不正常結束的錯訊息陣列.
74
#$reuslt["error"],執行不正常結束的錯訊息陣列.
Line 222... Line 226...
222
$headless="false";
226
$headless="false";
223
 
227
 
224
#預設的白名單ip清單
228
#預設的白名單ip清單
225
$whiteIp=array();
229
$whiteIp=array();
226
 
230
 
-
 
231
#預設除了函式庫,服務跟可執行檔都要安裝.
-
 
232
$libonly="false";
-
 
233
 
227
#檢查參數
234
#檢查參數
228
#函式說明:
235
#函式說明:
229
#檢查必填與可省略的參數,可省略參數可指定預設要給與什麼數值內容.
236
#檢查必填與可省略的參數,可省略參數可指定預設要給與什麼數值內容.
230
#回傳結果:
237
#回傳結果:
231
#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
238
#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
Line 255... Line 262...
255
#$conf["canNotBeEmpty"],字串陣列,哪些必填參數的內容不得為空字串或空陣列,僅當$conf["canBeEmptyString"]為"true"時會生效.
262
#$conf["canNotBeEmpty"],字串陣列,哪些必填參數的內容不得為空字串或空陣列,僅當$conf["canBeEmptyString"]為"true"時會生效.
256
#$conf["canNotBeEmpty"]=array();
263
#$conf["canNotBeEmpty"]=array();
257
#$conf["canBeEmpty"],字串陣列,哪些必填參數的內容可為空字串或空陣列,僅當$conf["canBeEmptyString"]為"false"時會生效.
264
#$conf["canBeEmpty"],字串陣列,哪些必填參數的內容可為空字串或空陣列,僅當$conf["canBeEmptyString"]為"false"時會生效.
258
#$conf["canBeEmpty"]=array();
265
#$conf["canBeEmpty"]=array();
259
#$conf["skipableVariableCanNotBeEmpty"],字串陣列,哪些可省略參數不可以為空字串或空陣列.
266
#$conf["skipableVariableCanNotBeEmpty"],字串陣列,哪些可省略參數不可以為空字串或空陣列.
260
$conf["skipableVariableCanNotBeEmpty"]=array("rootPath","name","mode","configUrl","getIpUrl","ip","dbAcct","dbPass","dbName","dbAddr","dbPort","sshAddrAndPort","headless","whiteIp");
267
$conf["skipableVariableCanNotBeEmpty"]=array("rootPath","name","mode","configUrl","getIpUrl","ip","dbAcct","dbPass","dbName","dbAddr","dbPort","sshAddrAndPort","headless","whiteIp","libonly");
261
#$conf["skipableVariableName"],陣列字串,爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableName"] = array("id","account","password");
268
#$conf["skipableVariableName"],陣列字串,爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableName"] = array("id","account","password");
262
$conf["skipableVariableName"]=array("rootPath","name","mode","configUrl","getIpUrl","ip","dbAcct","dbPass","dbName","dbAddr","dbPort","sshAddrAndPort","headless","whiteIp");
269
$conf["skipableVariableName"]=array("rootPath","name","mode","configUrl","getIpUrl","ip","dbAcct","dbPass","dbName","dbAddr","dbPort","sshAddrAndPort","headless","whiteIp","libonly");
263
#$conf["skipableVariableType"],陣列字串,爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableType"] = array("string",integer,"double");
270
#$conf["skipableVariableType"],陣列字串,爲可省略參數的變數名稱陣列,形態爲陣列變數,例如: $conf["skipableVariableType"] = array("string",integer,"double");
264
$conf["skipableVariableType"]=array("array","array","array","array","array","array","array","array","array","array","array","array","array","array");
271
$conf["skipableVariableType"]=array("array","array","array","array","array","array","array","array","array","array","array","array","array","array","array");
265
#$conf["skipableVarDefaultValue"],字串陣列,每個不存在的可省略變數要初始化為什麼,null與代表不指定,若預設值是參數之一,請將$conf["mustBeFilledVar"]改成"\$conf["\mustBeFilledVar\"]".
272
#$conf["skipableVarDefaultValue"],字串陣列,每個不存在的可省略變數要初始化為什麼,null與代表不指定,若預設值是參數之一,請將$conf["mustBeFilledVar"]改成"\$conf["\mustBeFilledVar\"]".
266
$conf["skipableVarDefaultValue"]=array(null,null,null,null,null,null,null,null,null,null,null,null,null);
273
$conf["skipableVarDefaultValue"]=array(null,null,null,null,null,null,null,null,null,null,null,null,null);
267
#$conf["disallowAllSkipableVarIsEmpty"],字串,是否允許每個可省略參數都為空字串,預設為"true"允許,反之為"false".
274
#$conf["disallowAllSkipableVarIsEmpty"],字串,是否允許每個可省略參數都為空字串,預設為"true"允許,反之為"false".
268
#$conf["disallowAllSkipableVarIsEmpty"]="";
275
#$conf["disallowAllSkipableVarIsEmpty"]="";
269
#$conf["disallowAllSkipableVarIsEmptyArray"],字串,是否允許每個可省略參數都為空陣列,預設為"true"允許,反之為"false".
276
#$conf["disallowAllSkipableVarIsEmptyArray"],字串,是否允許每個可省略參數都為空陣列,預設為"true"允許,反之為"false".
270
#$conf["disallowAllSkipableVarIsEmptyArray"]="";
277
#$conf["disallowAllSkipableVarIsEmptyArray"]="";
271
#$conf["arrayCountEqualCheck"],字串陣列,為檢查哪些陣列參數的元素數量要一樣,$conf["arrayCountEqualCheck"][$i]=array()為第$i組key為哪些的變數其元素數量要相等.
278
#$conf["arrayCountEqualCheck"],字串陣列,為檢查哪些陣列參數的元素數量要一樣,$conf["arrayCountEqualCheck"][$i]=array()為第$i組key為哪些的變數其元素數量要相等.
272
$conf["arrayCountEqualCheck"][]=array("rootPath","name","mode","configUrl","getIpUrl","ip","dbAcct","dbPass","dbName","dbAddr","dbPort","headless");
279
$conf["arrayCountEqualCheck"][]=array("rootPath","name","mode","configUrl","getIpUrl","ip","dbAcct","dbPass","dbName","dbAddr","dbPort","headless","libonly");
273
#參考資料:
280
#參考資料:
274
#array_keys=>http://php.net/manual/en/function.array-keys.php
281
#array_keys=>http://php.net/manual/en/function.array-keys.php
275
#備註:
282
#備註:
276
#無.
283
#無.
277
$checkArguments=variableCheck::checkArguments($conf);
284
$checkArguments=variableCheck::checkArguments($conf);
Line 459... Line 466...
459
			$whiteIp[]=$ip;
466
			$whiteIp[]=$ip;
460
		
467
		
461
			}#foreach end
468
			}#foreach end
462
	
469
	
463
		}#if end
470
		}#if end
-
 
471
		
-
 
472
	#如果有 libonly 參數
-
 
473
	if(isset($parseArgu["content"]["libonly"])){
-
 
474
	
-
 
475
		#如果有 libonly 參數存在
-
 
476
		if(isset($parseArgu["content"]["libonly"][0])){
-
 
477
		
-
 
478
			#更新 libonly
-
 
479
			$libonly=$parseArgu["content"]["libonly"][0];
-
 
480
		
-
 
481
			}#if end
-
 
482
	
-
 
483
		}#if end
464
 
484
 
465
	}#if end
485
	}#if end
466
 
486
 
467
#如果要使用不自動輸出內容的 allInOneForCI.php 檔案
487
#如果要使用不自動輸出內容的 allInOneForCI.php 檔案
468
if($headless==="true"){
488
if($headless==="true"){
Line 1462... Line 1482...
1462
		#異常結束執行
1482
		#異常結束執行
1463
		exit(1);
1483
		exit(1);
1464
		
1484
		
1465
	}#switch end
1485
	}#switch end
1466
 
1486
 
-
 
1487
#如果只要安裝函式庫,不要服務檔案跟可執行檔案.
-
 
1488
if($libonly==="true"){
-
 
1489
 
-
 
1490
	#執行到這邊就好
-
 
1491
	exit(0);
-
 
1492
 
-
 
1493
	}#if end
-
 
1494
 
1467
#於 /usr/bin 底下建立 $rootPath.$name."/usr/bin" 底下所有檔案的軟連結.
1495
#於 /usr/bin 底下建立 $rootPath.$name."/usr/bin" 底下所有檔案的軟連結.
1468
#函式說明:
1496
#函式說明:
1469
#針對特定目錄下的內容建立軟連結.
1497
#針對特定目錄下的內容建立軟連結.
1470
#回傳結果:
1498
#回傳結果:
1471
#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.
1499
#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.