6
December
2009
정규표현식을 간단하게 - gSkinner RegExr
Category :
PHP & Others
Posted by
장창학 at 2:55 AM
http://www.gskinner.com/RegExr/
Flash쪽 커뮤니티에서는 꽤 유명인사인 Grant Skinner의 웹사이트에 있는 Flex로 구현된 정규표현식 생성기(?)입니다. 오른쪽의 조건에서 표현식을 정의하면, 본문의 예제에서 어떻게 치환되는지 확인할 수 있습니다. 한가지 더 맘에 드는것은 일반 개발자들이 만든 정규표현식도 이용할 수 있는 점이 맘에 듭니다. 소스포지에는 정규표현식을 테스트해 볼 수 있는 툴이 많이 있는데 대부분 특정 S/W가 필요하거나(이클립스 등의 플러그인으로 작동), 설치파일형태로 제공되어 있습니다만 위 URL에서 제공하는 것은 즐겨찾기 했다가 간단하게 필요할때 써먹을 수 있습니다.
물론, 설치파일형태로도 제공하는데, http://gskinner.com/RegExr/desktop/ 에 보시면 Adobe AIR로 제작되어 배포중입니다. AIR Runtime 1.0 시절의 버전이라 현재의 1.5나 2.0beta에서는 정상적으로 작동할지 모르겠네요.(테스트는 안해봤습니다.)
30
September
2009
Ubuntu에서 Warning: SAFE MODE Restriction in effect. 오류가 날때
Category :
Ubuntu & Linux/Unix
,
PHP & Others
Posted by
장창학 at 11:25 PM
Ubuntu Server를 운영할때 특정 웹어플리케이션을 설치 또는 실행하는 과정에서 다음의 오류가 난다면?
Warning: SAFE MODE Restriction in effect
이는 PHP.INI에서 SAFE MODE가 활성화되어 있는 경우 실제 현재 실행되는 PHP파일과 이 파일에서 함수로 생성되는 PHP파일의 소유주가 다를 경우 나타나는 오류메시지 입니다. Ubuntu는 기본적으로 Apache2를 웹서버를 사용하고 있는데, 웹파일들은 Apache2의 계정으로 구동, 작성됩니다. 보안을 위해서 시스템 사용자명을 사용하지 않는데, 문제는 SFTP나 SSH로 시스템에 로그온 하여 파일을 전송하거나, 작성한 경우 로그온한 사용자명과 그룹으로 파일의 소유주가 생성되어 Apache2의 기본 소유주인 www-data와 달라진다는 것에 있습니다.
가령, nooree라는 계정명으로 SFTP나 SSH에 접속하여 파일을 전송, 작성하면 소유주와 그룹은 각각 nooree nooree가 됩니다. 물론 브라우징 및 실행에는 아무런 문제가 업습니다만, 문제는 어떤 파일, 예로 make_dir.php라는 파일이 소유주와 그룹이 nooree nooree일 때 이 파일을 실행하여 어떤 파일을 작성할때, 가령 sample.txt를 작성하면, 소유주와 그룹은 www-data www-data가 되어 버립니다. 이런 경우 위의 오류메시지가 나오므로 이런경우 PHP.INI에서 Safe mode를 Off하거나(보안상 비추천), sample.txt 또는 해당 디렉토리의 소유주와 그룹을 nooree nooree와 같이 실행되는 PHP의 파일소유주와 그룹과 동일하게 강제로 변경해 주면 됩니다.
보다 자세한 내용은 http://www.php.net/manual/kr/ini.sect.safe-mode.php를 참조하세요.
14
June
2009
Zend Server Community Edition 설치기
Category :
PHP & Others
Posted by
장창학 at 10:01 PM
어제 Zend에서 배포중인 Zend Server를 테스트해보려다가 오늘에서야 해봤습니다. 우선 너무 많은 기대를 가지고 했던 터라(거의 Coldfusion Server들의 기능를 생각하고..)부랴부랴 설치했는데요. Ubuntu에서의 간략 설치방법 및 구동, 웹관리자에 대하여 정리해 보았습니다.
13
June
2009
Web Application Server로 진화하고 있는 PHP - Zend Server
Category :
PHP & Others
Posted by
장창학 at 11:30 PM
간만에 제 Ubuntu에서 개발시 사용하고 있는 CFEclipse의 민망한 기능(사실 CF와 관련된 기능은 짱이지만 범용 IDE로서는 꽝인 CFEclipse라서~)때문에 Aptana를 써볼까 하다가 이것저것 덕지덕지 동반설치 되는 것이 싫거니와 SFTP기능이 무료버전에는 빠져 있어 다른 IDE를 찾아 보다가 Zend에 방문했습니다. PHP하면 생각나는 PHP와는 톰과 제리, 서수남과 하청일의 관계인 Zend는 대부분 옵티마이저를 많이 생각하게 되는데요.
개인적으로 최근의 PHP의 기능에 대하여, "점점 막강해 지는 구나.. 이렇게 되면 화성의 극지방과 같은 생명의 절대 불모지인 한국땅에 Coldfusion의 씨앗을 뿌리려는 나의 원대한 Plan B의 계획에 엄청 차질이 빚어질까 두렵군.." 하며 놀라고 있습니다만 오늘 Zend에서는 제가 몰랐던 PHP의 미래에 대한 실체를 보게 되었습니다. 이미 알고 계신 분들에게는 웬 뒷북? 이겠지만..
드디어 PHP가 스스로를 단순 CGI 와 같은 Script해석기에서 위대한 "Web Application Server"로서 웹시장에서의 황제자리를 더욱 굳건히 하려고 하는 것 같습니다. 스스로를 WAS라고 지칭할 만큼 PHP에 대한 Zend의 한 우물 장인정신만큼은 본 받아야 할 것 같습니다.
당연히 Zend Server는 무료인 Community Edition이 있습니다. 물론 상용버전에 비하여 기능이 제한적이지만 핵심기능은 모두 포함 되어 있군요. 다음은 Zend Server community Edition에서 제공하는 기능입니다.

- All-in-one native installers for Linux, Windows and Mac OS:
- A certified PHP distribution
- Zend Framework
- Apache (or IIS integration)
- MySQL (on Windows)
- Out-of-the-box connectivity to all common databases
- Java code connectivity
- Web-based PHP administrator console
- Basic application performance optimization
http://www.zend.com/en/community/zend-server-ce
맘에 드는 점은 Java에 기반하는 대부분의 WAS처럼 웹서버와의 연동, 찰떡궁합 MySQL의 동반설치, 대부분의 DB의 연결지원, 그리고 스스로를 위대한 WAS라고 칭할 수 있게 해준 Web기반의 관리자 페이지의 제공 등은 쏙 맘에 들게 하는 부분입니다. CF를 공부하면서 늘 자랑삼아 이야기 했던 기능중에 하나가 Web기반 관리자페이지에서의 DB/Mail의 설정으로 PHP코드내에서 MySQL Connect함수를 써서 일일히 연결하는 막코딩에서 한번 벗어나 보시지? 하던 것이였는데요. 이제 PHP에서도 DSN(Data Source Name)이 가능한지 모르겠습니다. 물론 PHP의 세세한 기능을 딸랑 php.ini파일 하나에서 제어하던 원시(?)적인 노동에서 해방될거 같습니다. RPM과 DEB패키지도 제공하므로, 제 Ubuntu의 Virtual Box의 Ubuntu를 다시 설치하는 즐거운 수고를 한번 해봐야 겠습니다.
우분투 DEB Installation 참조 :
http://files.zend.com/help/Zend-Server-Community-Edition/zend-server-community-edition.htm#deb_installation.htm
그러나.. 아..... 이러면, "Railo를 선두로 Adobe Coldfusion과 Open Bluedragon을 무기로 CF계를 확장하려는 계획"에 상당한 차질과 함께 심적 갈등을 느끼지 않을까 고민되는 군요.. ^^