본문 바로가기

[ programing ]/PHP

호스팅 php.ini

웹호스팅을 사용한다면 제공되는 기본설정 이외에 다른 설정은 사용할수가 없습니다.

그렇기 때문에 불편한 경우가 많은데요 ...

호스팅 업체에 문의하면 공용서버라 어쩔수 없습니당...뭐 이딴 대답만 듣게되죠...ㅜㅜ

특히나 개발하는데 에러메세지가 출력되지 않으면 그것만큼 답답한게 없는법입니다.

그럴때는 .htaccess 파일을 이용하면 됩니다.


PHP_FLAG register_globals ON

PHP_VALUE mysql.default_charset UTF8

PHP_FLAG display_errors ON

PHP_FLAG register_long_arrays on 

PHP_VALUE error_reporting 6135

PHP_VALUE post_max_size 100M

PHP_VALUE upload_max_filesize 100M


위 내용은 주인장이 개인적으로 호스팅 받고있는 계정의 .htaccess 내용입니다.

각각 어떤 의미인지 알아볼까요??


1. PHP_FLAG register_globals ON/OFF


: php버전에 따라서 register_globals 옵션을 사용을 할 수도 안할 수도 있는데요 이옵션은 전송되는 파라미터의 변수값을 자동으로 등록을 해주는 역활을 하고 있습니다.

register_globals = "off" 로 되어 있을 경우 자동으로 변수를 받아오지 못하게 됩니다. 그럼 어떤 현상이 발생되는지 살펴보도록하겠습니다.


POST 방식일 경우

$u_id = $_POST['u_id'];

GET 방식일 경우

$u_id = $_GET['u_id'];

세션에서 가져올 경우

$u_id = $_SESSION['u_id'];

쿠키에서 가져올경우

$u_id = $_COOKIE['u_id'];


register_globals = "on" 으로 하면 아래와 같이 두가지형태 모두 사용할수 있습니다

가능 -> $_POST['u_id']

가능 -> $u_id


※참조

php.ini에서 register_globals=off 일경우 헤더나 인클루드를 이용해서 상단에

@extract($_GET);

@extract($_POST);

@extract($_SERVER);

@extract($_FILES);

@extract($_ENV);

@extract($_COOKIE);

@extract($_SESSION);

위와 같이 처리해 주면 기존 소스를 그대로 사용할 수 있습니다.


2. PHP_VALUE ㅊ UTF8


: MySQL 캐릭셋을 UTF8 로 한다.


3. PHP_FLAG display_errors ON/OFF


: 에러메세지를 화면에 출력할지 여부 결정


4. PHP_FLAG register_long_arrays ON/OFF 


: php4 에서 사용하던 $HTTP_SERVER_VARS, $HTTP_SESSION_VARS, $HTTP_GET_VARS, $HTTP_POST_VARS

등을 사용할지 선택하는 옵션입니다.

이것들은 $_GET, $_REQUEST, $_POST 등으로 변경되었습니다.

오래전에 만든 웹사이트라면 필요시에 On 으로 변경할 수 있습니다.

그게 아니라면 원래대로 Off 로 변경하는 게 좋겠죠.

 

5. PHP_VALUE error_reporting 6135


error_reporting(0);

: Turn off all error reporting (모든 오류보고를 끄고) - 오류 보고 하지 말라는 것.


error_reporting(E_ERROR | E_WARNING | E_PARSE);

: Report simple running errors (보고서 간단한 실행 오류가에게) - 실행 오류만 간단히 보고하시오


error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);

: Reporting E_NOTICE can be good too (to report uninitialized variables or catch variable name misspellings ...) -- 초기화되지 않은 변수나 잘못된 변수들을 보고


error_reporting(E_ALL ^ E_NOTICE);

: Report all errors except E_NOTICE (E_NOTICE를 제외한 모든 오류 신고)

This is the default value set in php.ini (이것은 php.ini의 기본 값 세트) - PHP 기본셋팅값인듯!


error_reporting(E_ALL);

: Report all PHP errors (see changelog) 모든 오류 보고


error_reporting(-1);

: Report all PHP errors 모든오류 보고


ini_set('error_reporting', E_ALL);

: Same as error_reporting(E_ALL); // error_reporting(E_ALL)과 동일 


6. PHP_VALUE post_max_size 100M


: POST로 전송할수 있는 제한용량


7. PHP_VALUE upload_max_filesize 100M


: 업로드 할수 있는 파일의 제한용량






[펌] http://nakja.tistory.com/22