공부하자/Apache

php.ini 환경설정

YoBot 2018. 12. 6. 15:11

php.ini 환경설정


php.ini 위치 확인하기 [링크]


1. php.ini 파일열기

$sudo vi /etc/php/7.0/cli/php.ini

저 같은 경우 /etc/php/7.0/cli 디렉토리에 위치해 있습니다.


주석 및 내용을 아래와 같이 변경해 줍니다.

방법은 위와같이 [주석]을 풀어주가너 [Off -> On]으로 변경해 주시면 됩니다.


short_open_tag = On

<? 또는 <?php 코드를 정상작동 시킬수 있도록 돕는다.


error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT

php실행시 발생되는 에러를 출력해준다.

상세 에러 코드 설명[링크]


display_errors = On

php 스크립트 error가 발생되면 웹에서도 확인할 수 있도록 설정한다.

하지만 보안상 좋지 않으므로 비추천합니다.

개발용은 설정해주셔도 좋습니다.


sql.safe_mode = On

SQL 함수를 안전하게 사용한다.


date.timezone = "Asia/Seoul"

PHP 시간대를 아시아 서울로 설정합니다.




이외 참고 설정값입니다.

engine = On      # Apache에서 PHP 스크립트 언어 엔진 적용(Off로 설정시 PHP파일을 보여주지 못하고 다운로드하게 된다.)

zend.ze1_compatibility_mode = Off      # zend 엔진 버전1의 호환모드 설정

short_open_tag = On      # <? 태그 사용 허용(Off로 설정시 <?php, 와 <script> 태그만 인식)

asp_tags = Off      # ASP 스타일의 <%, %> 태그 사용여부 설정

precision = 12      # 부동소수점의 유효 자리수 설정

y2k_compliance = On      # 2000년 호환모드로 설정

output_buffering = Off      # 모든 파일의 출력 버퍼링 활성화 여부 설정(구체적인 숫자 입력시 출력 버퍼링을 특정 사이즈로 제한)

;output_handler =      # 스크립트의 모든 출력을 특정 함수를 통해 할 수 있음

zlib.output_compression = Off      # zlib을 사용해 페이지를 압축할 것인지 설정

;zlib.output_compression_level = -1      # 압축 레벨 설정

;zlib.output_handler =      # zlib.output_compression을 활성화할 경우, 추가 출력 핸들러를 지정할 수 없음

implicit_flush = Off      # On 설정시 print(), echo() 및 각 HTML 블록의 뒤에 flush()함수를 부르는 것과 동일하게 작용(성능저하 유발)


unserialize_callback_func =      # unserialize 중에 정의되지 않은 클래스를 작성해야 할 경우, 콜백 함수를 호출(정의되지 않은 클래스를 작성해야 할 때마다 호출)

allow_call_time_pass_reference = On      # 함수 사용시 변수를 강제적으로 참조하는 것 금지


safe_mode = Off      # 안전모드 사용여부 설정

safe_mode_gid = Off      # 파일이 열릴 때, UID 비교검사 수행(On 설정시 GID 비교검사 수행)

safe_mode_include_dir =      # 지정한 디렉토리 및 하위 디렉토리의 파일을 include 하는 경우, UID/GID 검사 미수행

safe_mode_exec_dir =      # (안전모드에서) system() 및 시스템 프로그램을 실행하는 함수의 경로(이 디렉토리에 없으면 함수를 실행할 수 없음)

safe_mode_allowed_env_vars = PHP_      # (안전모드에서) 지정된 문자로 시작하는 환경변수만 변경 가능

safe_mode_protected_env_vars = LD_LIBRARY_PATH      # putenv()로 변경할 수 없는 환경변수 설정

;open_basedir =      # 안전모드와 관계없이 PHP가 열 수 있는 디렉토리 설정

disable_functions =      # 특정 함수 사용 금지 설정

disable_classes =      # 특정 클래스 사용 금지 설정

;highlight.string = #DD0000      # 문법의 하이라이트 표시 설정(string, comment, keywork, bg, default, html 설정 가능)

;ignore_user_abort = On      # 클라이언트가 연결을 끊었을 때, 스크립트 수행을 중단한 것인지 설정(기본값은 스크립트 중단)

;realpath_cache_siae = 16k      # realpath 캐쉬 양 설정

;realpath_cache_ttl = 120      # 캐쉬의 유효기간을 초단위로 설정

expose_php = On      # PHP가 해당 서버에 인스톨되고, 사용되고 있다는 내용 알림 설정(On 설정시 내용 알림)


max_execution_time = 30      # 스크립트 최대 실행시간(초단위) 설정

max_input_time = 60      # POST, GET, 파일업로드 등의 입력 데이터를 받아들이는 최대시간(초단위) 설정

memory_limit = 128M      # 스크립트가 사용할 수 있는 최대 메모리양 설정


error_reporting = E_ALL & ~E_NOTICE      # E_NOTICE를 제외한 모든 에러 출력(다음의 항목들이 사용 가능함, E_ALL[각주     #1], E_ERROR[각주     #2], E_RECOVERABLE_ERROR[각주     #3], E_WARNING[각주     #4], E_PARSE[각주     #5], E_NOTICE[각주     #6], E_CORE_ERROR[각주     #7], E_CORE_WARNING[각주     #8], E_COMPILE_ERROR[각주     #9], E_COMPILE_WARNING[각주     #10], E_USER_ERROR[각주     #11], E_USER_WARNING[각주     #12], E_USER_NOTICE[각주     #13])

display_errors = On      # 에러 표시 설정(보안상 이 기능 대신 error_log를 사용할 것을 권장)

display_startup_errors = Off      # PHP 시작시 에러 미표시 설정

log_errors = Off      # 로그파일에 에러로그 기록여부 설정

ignore_repeated_errors = Off      # 반복된 에러의 기록여부 설정(Off 설정시 반복 에러 기록 안함)

track_errors = Off      # $php_errormsg에 마지막 에러/경고 메시지 저장 여부 설정

;html_errors = Off      # 에러 메세지에 HTML 태그 추가여부 설정(Off 설정시 HTML 태그 미추가)

;error_prepend_string = "<font color=ff0000>"      # 에러 메세지 앞에 출력하는 라인 설정

;error_append_string = "</font>"      # 에러 메세지의 뒤에 출력하는 라인 설정

;error_log = filename      # 지정된 파일에 에러 기록

;error_log = syslog      # syslog에 에러 기록


;arg_separator.output = "&amp;"      # PHP가 생성한 URL 인자를 구분하는 구분자 설정

;arg_separator.input = ";&"      # PHP가 URL에서 변수를 분리하는데 사용하는 구분자 설정

variables_order = "EGPCS"      # EGPCS[각주     #14] 변수의 파싱순서 설정(GP로 설정시 GET 변수는 같은 이름의 POST 변수에 덮어씌워짐)

register_globals = Off      # 입력 데이터의 글로벌 변수 등록여부 설정(Off 설정시 $var 대신 $_REQUEST["var"], $_GET["var"], $_POST["var"] 등으로 써야 함 - 권장)

register_long_arrays = On      # $HTTP_*_VARS 형태의 예약변수 등록 여부 설정(Off 설정시 $HTTP_GET_VARS 대신 $_GET 등의 자동 전역배열을 사용함 - 권장)

register_argc_argv = On      # argc 및 argv 변수의 사용여부 설정

post_max_size = 8M      # POST 데이터가 허용하는 최대 사이즈 설정(큰 파일 업로드시 post_max_size가 upload_max_filesize보다 커야함)

magic_quotes_gpc = On      # GET/POST/Cookie의 입력 데이터에 포함된 작은 따옴표, 큰 따옴표, 역슬래쉬, NULL은 자동으로 역슬래쉬로 이스케이프할지 설정

magic_quotes_runtime = Off      # DB나 텍스트 파일에 포함된 작은 따옴표, 큰 따옴표, 역슬래쉬, NULL을 자동으로 역슬래쉬로 이스케이프할지 설정

magic_quotes_sybase = Off      # 작은 따옴표를 \' 대신 ''로 변환할지 설정(On 설정시 ''로 변환)

auto_prepend_file =, auto_append_file =      # PHP 문서 전후에 추가할 파일 설정

default_mimetype = "text/html", default_charset = "utf-8"      # Content-type     # 헤더로 출력할 문자 인코딩 설정

;always_populate_raw_post_data = On      # 항상 $HTTP_RAW_POST_DATA 변수를 선언할지 설정


;include_path = ".     #/php/includes"      # require(), include(), fopen_with_path() 함수가 파일을 찾는 디렉토리 목록 설정

doc_root =      # PHP 루트 디렉토리 설정(안전모드 설정시 루트 디렉토리 밖의 파일은 사용할 수 없음)

user_dir      # PHP 파일을 사용하는 유저의 홈 디렉토리(public_html) 이름 설정

extension_dir = "/usr/local/server/php/modules"      # 확장모듈 디렉토리 설정

extension = mysqli.so ;      # PHP가 시작할 때 읽어들일 모듈 설정

enable_dl = On      # dl() 함수를 유효하게 할 것인지 설정

; cgi.force_redirect = 1      # 대부분의 웹서버에서 PHP를 CGI로 사용할 때 보안을 위해 설정(기본값 On)

; cgi.redirect_status_env = ;      # ?

;cgi.rfc2616_headers = 0      # PHP가 HTTP 응답코드를 보낼때 사용할 헤더 설정(0 설정시 Status     # 헤더를, 1 설정시 RFC 2616 호환 헤더 전송)


file_uploads = On      # 파일 업로드 허가여부 설정

;upload_tmp_dir =      # HTTP로 파일 업로드시 임시 작업 디렉토리 설정(미 지정시 시스템 디폴트 디렉토리[각주     #15]가 사용됨)

upload_max_filesize = 2M      # 업로드 파일의 최대 사이즈 설정

allow_url_fopen = Off      # 파일 액세스시 외부사이트 파일을 불러올 수 있는지여부 설정(보안상 Off로 설정할 것을 권장함)

;from="admin@myhome.com"      # 익명 FTP의 패스워드 설정

;user_agent = "PHP"      # PHP가 전송하는 유저에이전트 설정

default_socket_timeout = 60      # 소켓기반 스트림의 기본 시간제한 설정

;auto_detect_line_endings = Off      # fget(), file()로 읽은 데이터의 줄바꿈 방식 선택여부 설정(On 설정시 유닉스, MS-DOS, 매킨토시 방식 중 어떤 것을 사용할 것인지 검사)






'공부하자 > Apache' 카테고리의 다른 글

ssh, mysql, ssl, apache 등 외부 접속이 안될 경우  (0) 2018.12.07
UFW 방화벽이란?  (0) 2018.12.06
아파치 재시작 에러잡기  (0) 2018.12.06
host 변경하기  (0) 2018.12.06
무료 SSL 설치하기  (0) 2018.12.05