PHP에는 여러가지 프레임워크가 있습니다. CakePHP, Zend Framework등이 있는데 최근에 CodeIgniter가 가볍고 빨라서 인기를 끌고 있는듯 합니다.(한국사용자포럼) 약간 구경해보니 Ruby on Rails의 개념을 많이 가져온 것처럼 보였습니다. PHP의 창시자인 Rasmus Lerdorf도 CodeIgniter를 추천했다고 합니다.
어쨌든 프레임워크를 사용해보려고 APM을 깔고 Codeigniter를 설치하고 돌렸더니 튜토리얼과는 다르게 아래와 같은 오류메시지가 떴습니다. PHP 5.3이었고 CodeIgniter는 현재 최신 버전인 1.7.1을 사용하였습니다.
튜토리얼과는 다르게 에러메시지가 죽~ 떠버렸습니다 ㅠ..ㅠ 처음만지는 것데 튜토리얼과 다르게 돌아가니까 약간 당황되더군요.
Deprecated: Assigning the return value of new by reference is deprecated in C:\xampp\htdocs\CI\system\codeigniter\Common.php on line 130프레임워크 소스까지 열어보기는 좀 그렇고 핵심은 Deprecated였습니다. 이 단어는 보통 새 버전에서 이전버전의 기능을 더이상 권장하지 않을때 사용하는 단어이지요. 그래서 찾아보았더니 CodeIgniter의 Bug Tracker에 PHP 5.3 Deprecated Functions라는 버그가 등록되어 있고 현재 개발중인 SVN소스에서는 수정되었다고 나와 있었습니다.
Deprecated: Assigning the return value of new by reference is deprecated in C:\xampp\htdocs\CI\system\codeigniter\Common.php on line 136
CodeIgniter 1.7.1이 PHP 5.3이 나오기 전에 Release되었기 때문에 PHP 5.3에서 Deprecated되어버린 Function에 대한 오류메시지가 나타난 것입니다. 그래서 CodeIgniter SVN 저장소에 가서 개발중인 소스를 가져왔습니다.(공개되어 있는데 이상하게 Aptana Studio의 Subclipse에서는 암호를 묻는 창이 떠서 접근할 수가 없었습니다. TortoiseSVN에서는 접근이 잘 됩니다. ㅎ)
1.7.2개발버전으로 패치하니까 정상적으로 잘 돌아갑니다. 아직 Stable한 버전이 아니므로 서비스용도로 쓰기엔 어떤 문제가 있을지 알수 없기는 합니다. 처음시작부터 이렇게 힘들어서야 원... ㅡ..ㅡ
Comments