안드로이드 socket 통신에 대한 강의를 들으면서 소켓통신에 관한 사항을 알고 싶어졌다.
자바 서버 소스 파일을 다루는 방법은 아직 모르다보니 PHP 와 연동하는 방법을 찾아봤다.
PHP 서버에서 socket 설치 방법을 알아보니 현재 설치된 APM(Apache + PHP + MySQL)에 sockets.so 모듈이 설치 안되어 있다는 걸 확인했다.
가장 먼저 해야 할 일은 서버에 설치된 PHP버전과 동일한 php-5.4.6.tar.gz 파일을 인터넷에서 찾아서 받아야 한다.
받은 파일을 리눅스 서버에 올리고 압축을 해제한다.
cd /usr/local/APM/
tar -xvzf php-5.4.6.tar.gz
소스파일에서 설치할 확장모듈과 동일한 이름의 경로로 이동한다.
cd /usr/local/APM/php-5.4.6/ext/sockets
phpize 파일을 실행한다.
만약 에러가 발생하면 config.m4 파일이 없어서 발생하는 에러이므로 폴더를 확인하고 config.m4 파일로 복사한다.
/usr/local/php/bin/phpize
configure 및 compile 한다.
./configure --with-php-config=/usr/local/php/bin/php-config --enable-sockets
make
make 명령어를 실행후 ./modules/확장모듈명.so 파일이 생성되었는지 확인한다.
확장모듈.so 파일을 php.ini 파일의 extension_dir=확장모듈 경로에 복사한다.
확장모듈이 설치된 경로를 찾기 위해서 php.ini 에서 .so 로 설치된 모듈을 찾는다.
find / -name 'sockets.so'
찾은 경로로 복사한다. (모듈 설치 경로는 다를 수 있다)
cd /usr/local/APM/php-5.4.6/ext/sockets/modules
cp -arp sockets.so /usr/local/php/lib/php/extensions/sockets.so
cd /usr/local/php/lib/php/extensions/
ll
로 sockets.so 파일이 복사되었는지 확인한다.
php.ini 파일을 열어 extension=확장모듈.so 파일을 추가한다.
extension=/usr/local/php/lib/php/extensions/sockets.so
아파치(Apache) 재시작한다.
/usr/local/apache/bin/apachectl restart
파일이 설치되었는지 확인한다.
확인방법은
/usr/local/php/bin/php -m
또는 phpinfo()함수로 확인한다.
여기서 주의할 점은 phpinfo()로 확인하면 아래 화면에는 변동된 내역이 없다.
최초 설치한 정보만 보인다.
하지만 아래로 내려보면 모듈이 추가된 것을 확인할 수 있다.
'리눅스' 카테고리의 다른 글
phpize 실행시 에러 (0) | 2017.06.08 |
---|---|
PHP mcrypt 동적 모듈 추가 (0) | 2017.06.08 |
윈도우기반 리눅스 VMware 네트워크 설정 (0) | 2017.05.28 |
리눅스 시스템 종료 (0) | 2017.05.19 |
sftp 파일 전송 shell script (0) | 2017.03.09 |