CentOS 설치후 기본인 php.ini 설정으로는 개발하기가 불편하다. 개발후에는 해당 옵션들을 숨겨야겠지만, 개발하는 중에는 켜두어야 하는 옵션들을 정리한다. 추후에 늘어날 경우에 지속적으로 추가 예정

/etc/php.ini에서 

1. short_open_tag = On 으로 설정.

이 부분은 기본으로 php는 <?php   ?> 이런 형식을 사용하게 되어있는데 이것을 간단하게 <? ?> 이렇게 줄여서 사용할 수 있도록 해준다. 하위호환성 때문에 아직 남겨두고 있지만, XML등 다른 언어에서 사용되면서 서버에서 혼동을 일으킬 수 있기 때문에 php에서는 기본적으로 사용하지 않기를 권고한다. 차후에 지원하지 않게될 가능성이 존재함.

참고로 asp_tags = On 으로 해주면 asp처럼 <%%> 를 이용할 수 있다.


2. display_errors = On 으로 설정. 

에러가 있을 경우 디버깅 가능하도록 에러 메세지를 출력해준다. 단 이 부분은 해킹을 시도하는 공격자에게는 아주 좋은 먹잇감이 될 수 있기 때문에 평소에는 해제한다.

3. display_startup_errors = On 설정

에러가 있을 경우 디버깅 가능하도록 에러 메세지를 출력해준다. 단 이 부분은 해킹을 시도하는 공격자에게는 아주 좋은 먹잇감이 될 수 있기 때문에 평소에는 해제한다.


설정후에 보통 apache를 재시작하라고 하지만 nginx에서 사용시 service php-fpm restart 를 해주어야 변경사항이 적용된다. service nginx restart가 아님에 주의할것!


4. date.timezone = Asia/Seoul 설정

date.timezone이 주석처리 되어 있을 경우에, 오류 발생시 항상 다음과 같은 에러가 따라온다. Warning: Unknown: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected the timezone 'UTC' for now, but please set date.timezone to select your timezone.

위와 같은 date.timezone = Asia/Seoul 로 설정해주면 해결됨.



//