Blog

PHP 5.6을 눈 앞에 둔 zb4 유저의 심경

August 4, 2014

PHP 5.6을 눈 앞에 둔 zb4 유저의 심경

진퇴양난

진심으로 답이 안선다. 홈페이지를 zb4로 짜놓고선 그냥 유지보수만 해왔더니 PHP 5.6이 코앞에 와있다. PHP 5.5부터 zb4에서 가장 많이 쓰이는 mysql_* 계통의 함수들이 모두 deprecated 되어버렸다. 아직 5.6 migrate 문서에는 없지만 5.6 내지는 NG(5.7)쯤 들어서면 밀어버리지 않을까 싶다. PHP 7까지 살아서 갈 리가 없다.

자, 이 문제를 해결하려면 mysqli건 PDO건, 아니면 다른 ORM을 붙이건 해서 해결을 봐야한다. 문제는 zb4의 라이센스. 고쳐서 쓰는거야 상관 없다지만 수정후 재배포는 안된다. zb4를 굳이 써야하는 운명의 사이트 개발자들은 서로 정보 공유도 곤란한 상태로 각자 알아서 패치를 해야한다.

당연한 소리지만 zb4를 혼자서 다 갈아엎는건 엄청난 에너지 낭비다. 이쯤되면 다른 솔루션을 찾아봐야 하는데, 국내에서 유명한것으론 국산인 XE, 외국산인  WordPress가 있다. 솔직히 난 둘 다 별로라고 생각한다. 특히 XE는 안된다고 생각한다. 필요 이상으로 무겁기 때문이다. WordPress는 일단 고민중이지만 마이그레이터를 직접 짜야할 것으로 예상되므로 이것도 곤란.

그래서 몇년전부터 나만을 위한(…) 게시판 솔루션을 만드는것을 계획’만’ 하고 있다. 만족시켜야 하는 조건은 이러하다.

* * *

1. (너무나도 당연하지만) 모든 면에서 zb4보다 좋아야한다. 단, 스킨의 물량은 제외하자. 가장 중요한 이슈는 역시나 보안이다.

2. 속도면에서 XE보다 빨라야한다. (지금은 어떤지 몰라도 예전엔 XE서버때문에 내 홈페이지가 있는 서버가 터진 적도 있어서 지금도 경계를 늦추지 못한다.)

3. standalone해야하지만 framework에 붙여도 아무 문제가 없어야 한다. 가령 CI나 Laravel로 만든 프로젝트에도 가져다 쓸 수 있어야 한다.

4. 여타 board에서 넘어오기 쉬워야 한다. 보급이 목표는 아니지만 다른 board에서 넘어오기 힘들다는것은 그만큼 고립적이라는 이야기가 되버린다.

5. minimum 해야한다. 내가 필요한 기능만 골라서 쓸 수 있어야 한다. XE core처럼 사이트 빌더가 기본이어선 안된다. 기본적으로 plugins loader정도만 있고 board, member 등이 plugin 형태로 있어야 한다. 여기에 plugin dependency detection이 들어가야 하는건 당연한 걸지도 모르겠다

6. (PHP를 쓴다면) 최소 PHP 5.5 이상 기준으로 작성되어야 한다. PHP 5.5 이하의 경력은 아무짝에도 쓸모가 없다. (PHP 5.3 미만의 경험만을 취급하는 회사는 매우 위험한 곳이라고 생각한다.)

* * *

이 조건을 고민하면서 보건데 PHP로 과연 할 수 있는가에 대해 의문이 커지고 있다. 그냥 Python으로 짜는게 더 나을지도 모르겠다 싶다. 같은 결과물을 내는데 있어서 Web 전용 언어인 PHP보다 범용성 언어인 Python이 더 효율적일 것 같다고 느껴지는 요즘이다. PHP가 보다 분발해야할 듯.

중요한건 내 사이트의 리뉴얼이다. 그래도 PHP 출신 개발자니 PHP로 해야하는것 아닌가 싶었는데 요즘은 막말로 한번도 안써본 node.js나 ruby on rails를 써도 상관 없지 않나 싶다. 내가 zb4로 시작했다지만 내 정체성이 zb4는 아니니까, 난 웹 개발자쪽으로 나가고 있는 중이니까..

다시 본론으로 돌아와서 그럼 zb4는 어찌해야하는가, 지금에 와서는 내부 구조조차도 참고자료로 쓰기에도 민망한 물건이 되었다. 내가 PHP를 쓰건 Python을 쓰건 지금 필요한건 zb4가 아니라 zb4에 걸려있는 내 홈페이지 자료들 뿐이다. 이미 원형에서 많이 벗어나버린 내 홈페이지의 zb4처럼, zb4 유저들은 이미 zb4에서 마음이 떴으리라… zb4의 장례식을 치뤄줘야 하는 시점에서 난 이제 뭘로 갈아탈지만 정하면 될 것 같다.