| 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"代表不正常.
|