8월, 2016의 게시물 표시

php5에서 php7로 올렸을때 코퍼마인에서 발생한 문제의 처리

이미지
개인적으로 Coppermine 이라는 웹앨범을 사용중입니다. 사용 환경은 우분투 14였죠. 오늘 16으로 서버 업데이트를 하였으나, 기존 사용하던 PHP5 대신 PHP7로 업데이트가 된 것을 확인했습니다. Coppermine은 이 업데이트에서 오동작을 일으키더군요. 바로 기존에 쓰이던 mysql_connection() 같은 함수를 사용할 수 없는 문제 였습니다. 모든 소스를 일일이 수정할 수는 없는 짓이라...  S/W 공학때 배우던 어뎁터 같은게 없을까 하고 뒤져보다 MySQL Compat 이라는걸 발견하게 되었습니다. 이를 적용하여 오류를 잡는 과정과 부수적으로 발생했던 문제들을 처리한 과정을 정리하겠습니다. 먼저 mysql과 mysqli 호환성을 위해  MySQL Compat  에 이동하여  src 폴더에 존재하는 파일을 다운로드받아 둡니다. classes.php, constants.php, functions.php, include.php 제 시스템 기준의 사전 환경은 다음과 같습니다. 코퍼마인 버전 : 1.5.42 PHP 설정파일 경로 : /etc/php/7.0/apache2/php.ini 1. Coppermine이 설치된 경로로 이동하여 임의의 폴더를 만듭니다. 저는 /코퍼마인설치경로/include/mysql-comp 라고 만들었습니다. 2. 새로 생성한 폴더에 위에서 다운로드 받은 파일을 복사합니다. 전 그냥 귀찮아서 vi 로 파일 생성하고 소스파일 내용을 복사 & 붙여넣기로 작업했습니다. 3. /코퍼마인설치경로/include/init.inc.php 파일을 열고 <?php 아래에 다음과 같이 기술합니다.    require('include/mysql-comp/include.php'); 4. 여기까지만 해도 대부분의 기능은 모두 동작하게 됩니다. ** php.ini 파일 설정. 제꺼 기준으로만 기술합니다. 또한 수정한 옵션만 표시합니다. *...