Subversion Repositories qbpwcf-lib(archive)

Rev

Rev 717 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 717 Rev 718
Line 187... Line 187...
187
#var_dump(__LINE__,$proc);exit;
187
#var_dump(__LINE__,$proc);exit;
188
 
188
 
189
#停1秒
189
#停1秒
190
sleep(1);
190
sleep(1);
191
 
191
 
-
 
192
#提供config查詢的服務網址
-
 
193
$confServer="https://latest.qbpwcf.org/sample/config::server.php";
-
 
194
 
-
 
195
#初始化儲存 查詢的結果 陣列
-
 
196
$configGot=array();
-
 
197
 
192
#函式說明:
198
#函式說明:
193
#查尋有使用 server 函式提供組態設定檔的服務,取得key的value.
199
#查尋有使用 server 函式提供組態設定檔的服務,取得key的value.
194
#回傳結果:
200
#回傳結果:
195
#$result["status"],執行是否正常,"true"為正常,"false"為不正常.
201
#$result["status"],執行是否正常,"true"為正常,"false"為不正常.
196
#$result["error"],錯誤訊息陣列.
202
#$result["error"],錯誤訊息陣列.
197
#$result["function"],當前執行的函數名稱.
203
#$result["function"],當前執行的函數名稱.
198
#$result["rawContent"],得到的原始訊息.
204
#$result["rawContent"],得到的原始訊息.
199
#$result["content"],用json_decode後的結果;若"inBg"為"true",則其每個元素為其指令執行的結果訊息陣列,key為"status"代表執行是否正常的識別;key為"statusCode"代表程式結束後回傳給對應executeBy程式的數值;key為"output"代表標準輸出,若為resource,則代表為pipe;key為"error"代表非標準輸出,若為resource,則代表為pipe;key為"input"代表成功輸入的指令;key為"process"代表該程序經proc_open後的process source;key為"proc_get_status"代表程序的資訊.
205
#$result["content"],用json_decode後的結果;若"inBg"為"true",則其每個元素為其指令執行的結果訊息陣列,key為"status"代表執行是否正常的識別;key為"statusCode"代表程式結束後回傳給對應executeBy程式的數值;key為"output"代表標準輸出,若為resource,則代表為pipe;key為"error"代表非標準輸出,若為resource,則代表為pipe;key為"input"代表成功輸入的指令;key為"process"代表該程序經proc_open後的process source;key為"proc_get_status"代表程序的資訊.
200
#必填參數:
206
#必填參數:
201
#$conf["server"],字串,組態服務設定服務的網址
207
#$conf["server"],字串,組態服務設定服務的網址
202
$conf["server"]="https://latest.qbpwcf.org/sample/config::server.php";
208
$conf["server"]=$confServer;
203
#$conf["postName"],字串,POST變數的名稱,亦即要查尋的定義名稱.
209
#$conf["postName"],字串,POST變數的名稱,亦即要查尋的定義名稱.
204
$conf["postName"]="169.254.1.1";
210
$conf["postName"]="169.254.1.1";
205
#$conf["fileArgu"],字串,變數__FILE__的內容.
211
#$conf["fileArgu"],字串,變數__FILE__的內容.
206
$conf["fileArgu"]=__FILE__;
212
$conf["fileArgu"]=__FILE__;
207
#可省略參數:
213
#可省略參數:
Line 213... Line 219...
213
#$conf["inBg"]="true";
219
#$conf["inBg"]="true";
214
#參考資料:
220
#參考資料:
215
#無.
221
#無.
216
#備註:
222
#備註:
217
#目前僅能跟server函式提供的服務對接.
223
#目前僅能跟server函式提供的服務對接.
-
 
224
$configGot[]=config::client($conf);
-
 
225
unset($conf);
-
 
226
 
-
 
227
#函式說明:
-
 
228
#查尋有使用 server 函式提供組態設定檔的服務,取得key的value.
-
 
229
#回傳結果:
-
 
230
#$result["status"],執行是否正常,"true"為正常,"false"為不正常.
-
 
231
#$result["error"],錯誤訊息陣列.
-
 
232
#$result["function"],當前執行的函數名稱.
-
 
233
#$result["rawContent"],得到的原始訊息.
-
 
234
#$result["content"],用json_decode後的結果;若"inBg"為"true",則其每個元素為其指令執行的結果訊息陣列,key為"status"代表執行是否正常的識別;key為"statusCode"代表程式結束後回傳給對應executeBy程式的數值;key為"output"代表標準輸出,若為resource,則代表為pipe;key為"error"代表非標準輸出,若為resource,則代表為pipe;key為"input"代表成功輸入的指令;key為"process"代表該程序經proc_open後的process source;key為"proc_get_status"代表程序的資訊.
-
 
235
#必填參數:
-
 
236
#$conf["server"],字串,組態服務設定服務的網址
-
 
237
$conf["server"]=$confServer;
-
 
238
#$conf["postName"],字串,POST變數的名稱,亦即要查尋的定義名稱.
-
 
239
$conf["postName"]="configName1";
-
 
240
#$conf["fileArgu"],字串,變數__FILE__的內容.
-
 
241
$conf["fileArgu"]=__FILE__;
-
 
242
#可省略參數:
-
 
243
#$conf["cache"],字串,預設為"true",代表會啟用cache服務;反之為"false".
-
 
244
#$conf["cache"]="false";
-
 
245
#$conf["clientCacheDaemonSock"],字串,提供cache服務的 unix domain socket 檔案位置,預設為套件根目錄底下的"var/config::client/clientCacheDaemon.sock";.
-
 
246
#$conf["clientCacheDaemonSock"]="";
-
 
247
#$conf["inBg"],字串,預設為"false",代表在前景執行;反之為"true"代表在背景中執行,會強制將"cache"參數設為"false".
-
 
248
#$conf["inBg"]="true";
-
 
249
#參考資料:
-
 
250
#無.
-
 
251
#備註:
-
 
252
#目前僅能跟server函式提供的服務對接.
-
 
253
$configGot[]=config::client($conf);
-
 
254
unset($conf);
-
 
255
 
-
 
256
#函式說明:
-
 
257
#查尋有使用 server 函式提供組態設定檔的服務,取得key的value.
-
 
258
#回傳結果:
-
 
259
#$result["status"],執行是否正常,"true"為正常,"false"為不正常.
-
 
260
#$result["error"],錯誤訊息陣列.
-
 
261
#$result["function"],當前執行的函數名稱.
-
 
262
#$result["rawContent"],得到的原始訊息.
218
$client=config::client($conf);
263
#$result["content"],用json_decode後的結果;若"inBg"為"true",則其每個元素為其指令執行的結果訊息陣列,key為"status"代表執行是否正常的識別;key為"statusCode"代表程式結束後回傳給對應executeBy程式的數值;key為"output"代表標準輸出,若為resource,則代表為pipe;key為"error"代表非標準輸出,若為resource,則代表為pipe;key為"input"代表成功輸入的指令;key為"process"代表該程序經proc_open後的process source;key為"proc_get_status"代表程序的資訊.
-
 
264
#必填參數:
-
 
265
#$conf["server"],字串,組態服務設定服務的網址
-
 
266
$conf["server"]=$confServer;
-
 
267
#$conf["postName"],字串,POST變數的名稱,亦即要查尋的定義名稱.
-
 
268
$conf["postName"]="configName2";
-
 
269
#$conf["fileArgu"],字串,變數__FILE__的內容.
-
 
270
$conf["fileArgu"]=__FILE__;
-
 
271
#可省略參數:
-
 
272
#$conf["cache"],字串,預設為"true",代表會啟用cache服務;反之為"false".
-
 
273
#$conf["cache"]="false";
-
 
274
#$conf["clientCacheDaemonSock"],字串,提供cache服務的 unix domain socket 檔案位置,預設為套件根目錄底下的"var/config::client/clientCacheDaemon.sock";.
-
 
275
#$conf["clientCacheDaemonSock"]="";
-
 
276
#$conf["inBg"],字串,預設為"false",代表在前景執行;反之為"true"代表在背景中執行,會強制將"cache"參數設為"false".
-
 
277
#$conf["inBg"]="true";
-
 
278
#參考資料:
-
 
279
#無.
-
 
280
#備註:
-
 
281
#目前僅能跟server函式提供的服務對接.
-
 
282
$configGot[]=config::client($conf);
219
unset($conf);
283
unset($conf);
220
 
284
 
221
#如果程式最後狀態為進行中
285
#如果程式最後狀態為進行中
222
if($proc["content"][0]["proc_get_status"]["running"]===true){
286
if($proc["content"][0]["proc_get_status"]["running"]===true){
223
 
287
 
Line 277... Line 341...
277
 
341
 
278
		}#if end
342
		}#if end
279
 
343
 
280
	}#if end
344
	}#if end
281
 
345
 
-
 
346
#debug
-
 
347
#var_dump(__LINE__,$proc["content"][0]["process"]);
-
 
348
 
282
#如果有 $proc["process"]
349
#如果有 $proc["process"]
283
if(isset($proc["content"][0]["process"])){
350
if(isset($proc["content"][0]["process"])){
284
 
351
 
285
	#結束 clientCacheDaemon.php 
352
	#結束 clientCacheDaemon.php 
286
	$clientCacheDaemonStatusCode = proc_close($proc["content"][0]["process"]);
353
	$clientCacheDaemonStatusCode = proc_close($proc["content"][0]["process"]);
Line 308... Line 375...
308
			#提示 clientCacheDaemon.php 的錯誤輸出內容
375
			#提示 clientCacheDaemon.php 的錯誤輸出內容
309
			echo "clientCacheDaemon.php 的錯誤輸出內容:".PHP_EOL.$clientCacheDaemonErrorOutput.PHP_EOL;
376
			echo "clientCacheDaemon.php 的錯誤輸出內容:".PHP_EOL.$clientCacheDaemonErrorOutput.PHP_EOL;
310
		
377
		
311
			}#if end
378
			}#if end
312
 
379
 
313
		}#if end
380
		#debug
-
 
381
		var_dump(__LINE__,$clientCacheDaemonStatusCode);
314
		
382
 
315
		#結束執行,回傳1給shell.
383
		#結束執行,回傳1給shell.
316
		exit(1);
384
		exit(1);
317
 
385
 
-
 
386
		}#if end
-
 
387
 
318
	}#if end
388
	}#if end
319
 
389
 
320
#如果執行失敗
390
#針對每個設定的查詢結果
321
if($client["status"]==="false"){
391
foreach($configGot as $client){
322
 
392
 
323
	#debug
393
	#如果執行失敗
324
	var_dump($client);
394
	if($client["status"]==="false"){
325
 
395
 
326
	#結束執行,回傳1給shell.
-
 
327
	exit(1);
396
		#debug
-
 
397
		var_dump(__LINE__,$client);
328
 
398
 
-
 
399
		#結束執行,回傳1給shell.
-
 
400
		exit(1);
-
 
401
 
329
	}#if end
402
		}#if end
-
 
403
 
-
 
404
	}#foreach end
330
	
405
	
331
#印出結果
406
#印出結果
332
var_dump($client);
407
var_dump($configGot);
333
 
408
 
334
?>
409
?>
335
410