이클립스 eclipse for php developer 를 설치하고
디버거를 zend debugger로 선택하면
에러가 뜬다.
일단 help-install new software에서 zend debugger를 설치하고
zend.com에서 리눅스용 zend debugger(ZendDebugger-linux-x86_64.tar.gz)파일을 다운로드하고
파일을 풀어서 나오는 dummy.php 파일은 사용하려는 사이트의 루트에 복사해주고
ZendDebugger.so파일은 /usr/lib/php/20121212 밑에 복사해주었다.
그리고
/etc/php5/apache2/php.ini 파일을 수정
================================
zend_extension=/usr/lib/php5/20121212/ZendDebugger.so
[zend_debugger]
zend_debugger.allow_hosts = 127.0.0.1
zend_debugger.expose_remotely = always
================================
를 추가해주었다.
그리고
phpinfo();
를 불러서 살펴보면 zend debugger 항목이 보인다.
그런데!
디버거만 쓰면 안되고 당연하게도 zend guard loader도 써야한다.
zend.com에서 zend-loader-php5.5-linux-x86_64.tar.gz를 다운로드 받았다.
압축을 풀어보면
ZendGuardLoader.so 와 opcache.so 가 나온다.
그래서 이렇게 다시 php.ini파일을 수정.
; Enable Zend Debugger extension module
zend_extension=/usr/lib/php5/20121212/opcache.so
zend_extension=/usr/lib/php5/20121212/ZendGuardLoader.so
zend_extension=/usr/lib/php5/20121212/ZendDebugger.so
[zend_debugger]
zend_debugger.allow_hosts = 127.0.0.1
zend_debugger.expose_remotely = always
[zend_loader]
zend_loader.enable=1
zend_loader.disable_licensing=0
zend_loader.obfuscation_level_support=3
이렇게 해주었다.
그런데?
sudo service apache2 restart 를 해주면
에러가 난다!
왜지???
그래서 /var/log/apache2/error.log를 살펴본다.
Zend OPcache must be loaded before Zend Debugger
이렇게 나온다.
도무지 알 수가 없는데
이것을 해결하지않고 아파치가 실행이 되어도
phpinfo();에서 보면
디버거거 DIABLED되었다고 나온다.
어디에선가 opcache가 먼저 설정된 부분이 있다.
찾아본다.
/etc/php5/apache2/conf.d 폴더로 들어가보면
05-opcache.ini -> ../../mods-available/opcache.ini
모든 것이 제대로 설정되었다.
이클립스에서 디버거도 제대로 작동되었다.
php5의 mod enable 부분은 좀 더 깔끔하게 처리하는 방법이 있을 듯. 알아봐야할 부분.
'컴퓨터 IT > 리눅스' 카테고리의 다른 글
(gedit:1495): Gtk-WARNING **: Calling Inhibit failed: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.gnome.SessionManager was not provided by any .service files (0) | 2016.05.05 |
---|---|
dolphin ppa (0) | 2016.04.30 |
android studio ppa (0) | 2016.04.28 |
fcitx (0) | 2016.04.28 |
ardour ppa (0) | 2016.04.28 |