728x90

안드로이드 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
블로그 이미지

Link2Me

,