[완료] centos5.5 x86_64 환경에서 php의 var_dump() 출력 결과가 달라지는 원인이 무엇일까요?
첨부 이미지를 보시면, php의 xdebug 확장모듈에 의해 xdebug_var_dump() 로 오버라이드된 var_dump()의 결과값이 상이한것을 확인할 수 있습니다.
( xdebug에서 의해 CSS-class가 적용되어 컬러로 표시되거나, 그렇지 않거나의 차이)
그런데, 과연 무엇이 원인이 되어서 저런 차이가 나게 되는걸까요??
제가 테스트한 것을 올려보겠습니다..
-------------------------------------------------------------------
* virtual box 에서 테스트
* CentOS-5.5.x86_64 초기상태 + epel저장소를 이용하여 update까지 마친상태에서 작업
# yum install php-pear gcc
============================================================================================
Package Arch Version Repository Size
============================================================================================
Installing:
gcc x86_64 4.1.2-48.el5 base 5.3 M
php-pear noarch 1:1.4.9-6.el5 base 344 k
Installing for dependencies:
autoconf noarch 2.59-12 base 647 k
automake noarch 1.9.6-2.3.el5 base 476 k
cpp x86_64 4.1.2-48.el5 base 2.9 M
glibc-devel x86_64 2.5-49.el5_5.2 updates 2.4 M
glibc-headers x86_64 2.5-49.el5_5.2 updates 592 k
imake x86_64 1.0.2-3 base 319 k
kernel-headers x86_64 2.6.18-194.8.1.el5 updates 1.1 M
libgomp x86_64 4.4.0-6.el5 base 68 k
php-devel x86_64 5.1.6-27.el5 base 503 k
Transaction Summary
============================================================================================
★★★ # vim /etc/php.ini (파일을 열어서 아래 구문 추가)
★★★ zend_extension=/usr/lib64/php/modules/xdebug.so
# wget http://rpms.famillecollet.com/enterprise/remi-release-5.rpm
# rpm -Uvh remi-release-5.rpm
# yum --enablerepo=remi --enablerepo=remi-test update
=======================================================================================================
Package Arch Version Repository Size
=======================================================================================================
Updating:
mysql x86_64 5.1.48-1.el5.remi.1 remi 1.1 M
php x86_64 5.3.3-0.1.201007040430.el5.remi remi-test 1.3 M
php-cli x86_64 5.3.3-0.1.201007040430.el5.remi remi-test 2.5 M
php-common x86_64 5.3.3-0.1.201007040430.el5.remi remi-test 961 k
php-devel x86_64 5.3.3-0.1.201007040430.el5.remi remi-test 620 k
php-ldap x86_64 5.3.3-0.1.201007040430.el5.remi remi-test 55 k
php-pear noarch 1:1.9.1-2.el5.remi remi 431 k
remi-release noarch 5-8.el5.remi remi 4.9 k
Installing for dependencies:
libedit x86_64 2.11-2.20080712cvs.el5 epel 80 k
mysql-libs x86_64 5.1.48-1.el5.remi.1 remi 1.7 M
mysqlclient15 x86_64 5.0.67-1.el5.remi remi 1.3 M
Transaction Summary
=======================================================================================================
# pecl install xdebug
# vim /etc/php.ini (해당 파일에 아래 구문이 추가되지 않았다면 추가할것)
zend_extension=/usr/lib64/php/modules/xdebug.so
# /etc/init.d/httpd restart
파이어폭스에서 http://192.168.0.183/test.php 를 열어보면, var_dump()출력결과가 컬러로 출력됨
------------------------------------------------------------------------
근데 의문이 생기는것은
위에서 ★★★ 표시된 곳의 작업을 생략할 경우,
http://192.168.0.183/test.php에서 var_dump()출력결과가 컬러로 출력되지 않는다는 것입니다.
전문지식이 없는터라...
수십번의 테스트를 통해 위와 같은 사실을 알아낸것뿐이며..
도저히 원인이 무엇인지 찾아낼수가 없어서..
이렇게 질문을 올립니다..
조언 부탁드립니다...
추가 :
# yum install php-pear gcc -y && echo 'zend_extension=/usr/lib64/php/modules/xdebug.so' >> /etc/php.ini && wget http://rpms.famillecollet.com/enterprise/remi-release-5.rpm && rpm -Uvh remi-release-5.rpm && yum --enablerepo=remi --enablerepo=remi-test update -y && pecl install xdebug && /etc/init.d/httpd restart
(위는 작업 수행후, var_dump() 컬러로 출력)
# yum install php-pear gcc -y && wget http://rpms.famillecollet.com/enterprise/remi-release-5.rpm && rpm -Uvh remi-release-5.rpm && yum --enablerepo=remi --enablerepo=remi-test update -y && pecl install xdebug && echo 'zend_extension=/usr/lib64/php/modules/xdebug.so' >> /etc/php.ini && /etc/init.d/httpd restart
(위는 작업 수행후, var_dump() 컬러로 출력 안됨)
첨부 | 파일 크기 |
---|---|
![]() | 43.62 KB |
자답
/etc/php.ini 설정중,
html_errors = Off 로 되어 있으면, var_dump(=xdebug_var_dump) 의 결과값에 html(css style)이 제외되고 출력된다.
ㅠㅠ
html_error=on 으로 되어있는것은
/etc/php.ini 의 html_error=on 설정값은
/etc/php.ini 의 display_errors = On 일때, 에러출력이 html모드로 출력 되게끔 한다
댓글 달기