php 에서는 다양한 설정파일의 일부(또는 전체)의 목록을 얻거나 일시로 설정을 강제변경하거나 복구할 수 있는 기능을 제공합니다. 다음은 php.ini의 모든 설정목록을 배열로 가져 오게 합니다.

예제 (ex #1
 <?php 
 // php.ini 의 모든 설정옵션을 배열로 가져옵니다.

 echo php_ini_loaded_file()
 // 결과: C:\php\php.ini

 $ini_array 
parse_ini_file(php_ini_loaded_file(), true
); 
 
print_r($ini_array
);
 /*
 결과:
 Array
 (
    [allow_call_time_pass_reference] => Array
        (
            [global_value] => 0
            [local_value] => 0
            [access] => 6
        )

    [allow_url_fopen] => Array
        (
            [global_value] => 1
            [local_value] => 1
            [access] => 4
        )

    ...

 )
 */

 ?>

예제 (ex #2
 <?php 
 $ini_array ini_get_all();
 /*
 결과:
 Array
 (
    [allow_call_time_pass_reference] => Array
        (
            [global_value] => 0
            [local_value] => 0
            [access] => 6
        )

    [allow_url_fopen] => Array
        (
            [global_value] => 1
            [local_value] => 1
            [access] => 4
        )

    ...

 )
 */
 ?>

다음은 설정옵션중 단일의 옵션을 가져 옵니다.

예제 (ex #3
 <?php 
 // 설정옵션중 session 에 대한 설정 목록만을 전부 가져 옵니다.
 print_r(ini_get_all("session"
)); 

 /*
 결과:
 Array
 (
    [session.auto_start] => Array
        (
            [global_value] => 0
            [local_value] => 0
            [access] => 7
        )

    [session.bug_compat_42] => Array
        (
            [global_value] => 
            [local_value] => 
            [access] => 7
        )
   ...
 }
 */ 




 // 하나의 설정 옵션을 가져옵니다.
 echo get_cfg_var("session.save_handler"
);

 echo 
ini_get("session.save_handler"
); 

 // 결과: files 

 ?>

다음은 설정 옵션을 강제 변경하는 함수입니다. 그러나 실제 설정 옵션이 변경되는 것은 아니며, 강제 변경은 일부 요소만 가능한 부분입니다.

예제 (ex #4
 <?php
 echo ini_get('display_errors'
);

 if (!
ini_get('display_errors'
)) {
    
ini_set('display_errors'1
);
 }

 echo 
ini_get('display_errors'
);
 ?>

관련글: 2011/09/05 - ini 구성파일을 로드하는 parse_ini_file 함수
블로그 이미지

하보니

하보니와 함께하는 phP 초보

댓글을 달아 주세요