'2017/06/08'에 해당되는 글 3건

728x90

phpize 실행시 에러가 발생하면서 동작이 제대로 안되는 현상이 있는 사이트가 있다.


Configuring for:
PHP Api Version:         20041225
Zend Module Api No:      20060613
Zend Extension Api No:   220060519
Cannot find autoconf. Please check your autoconf installation and the $PHP_AUTOCONF
environment variable is set correctly and then rerun this script.


이런 메시지가 나오면서 phpize 가 실행이 되지 않는다.


검색해보니 http://panic910.tistory.com/52 에 해결방법이 나온다.

따라서 해보니 제대로 동작되고 동적 모듈이 추가된다.


# phpize 실행시 에러가 발생할 때

cd /usr/local/APM/
wget http://ftp.gnu.org/gnu/m4/m4-1.4.9.tar.gz
wget http://ftp.gnu.org/gnu/autoconf/autoconf-2.62.tar.gz

cd /usr/local/APM/
tar -zvxf m4-1.4.9.tar.gz
cd /usr/local/APM/m4-1.4.9/
./configure && make && make install

cd /usr/local/APM/
tar -zvxf autoconf-2.62.tar.gz
cd /usr/local/APM/autoconf-2.62
./configure && make && make install


이렇게 해결되기도 하지만, 모듈이 제대로 추가되었다고 나오는데도 불구하고 모듈이 추가되지 않는 곳도 있다.


[root@localhost /]# /usr/local/php/bin/phpize
Cannot find config.m4.
Make sure that you run '/usr/local/php/bin/phpize' in the top level source directory of the module

해결방법

확장할 모듈까지 이동하여 phpize를 실행해야 함.

cd /usr/local/APM/php-5.6.30/ext/snmp
phpize


블로그 이미지

Link2Me

,
728x90

phpMyAdmin을 접속하면 아래와 같은 메시지가 나오는 사이트가 있다.

이 메시지가 나오지 않도록 해보자.


그리고

PHP언어를 통해 AES 암호화를 하려면 mcrypt_encrypt 함수를 이용해야 한다.
이 함수를 사용하려면 php-mcrypt 모듈 확장을 설치해야 한다.

가장 먼저 할 일은 <?php phpinfo();?> 로 PHP 버전을 확인한다.

그리고 설치된 사항을 확인한다.

PHP 버전을 확인했으면 리눅스 서버에 소스 컴파일했던 PHP 파일이 있는지 찾아본다.

만약 없다면 해당 버전을 받아 압축을 푼다.


=== 참고용 ====

yum install php-mcrypt 를 하면 버전이 낮은 버전이 설치된다.
# php-mcrypt 버전
rpm -qa | grep mcrypt
# 설치한 php-mcrypt 의 경로
rpm -ql php-mcrypt
# 설치된 경로가 /usr/lib/php/modules/mcrypt.so 라고 보여준다.
# 모듈 제거하기
rpm -qa | grep mcrypt
# 버전을 확인한 다음 remove 로 지운다.
yum remove php-mcrypt-5.1.6-15.el5.centos.1
yum remove libmcrypt-2.5.8-4.el5.centos


그래서 설치했던 걸 모두 삭제처리했다.


libmcrypt-2.5.8.tar.gz


먼저 위 파일을 다운로드 받아서 리눅스 서버에 올린다. (PHP 버전과 호환이 안되면 호환되는 버전을 찾아야 한다.)

cd /usr/local/APM/
tar -xvzf libmcrypt-2.5.8.tar.gz
cd libmcrypt-2.5.8
./configure --prefix=/usr/local/
make && make install

그 다음에 설치한 버전과 동일한 버전의 PHP 소스 파일을 다운로드 받아서 압축을 해제한다.


tar -xvzf php-5.4.6.tar.gz
cd /usr/local/APM/php-5.4.6/ext/mcrypt
# phpize 파일을 실행한다.
/usr/local/php/bin/phpize

# configure 및 compile
./configure --with-php-config=/usr/local/php/bin/php-config --with-mcrypt=/usr/local/
make
# make 명령어를 실행후 ./modules/확장모듈명.so 파일이 생성되었는지 확인한다.

# 확장모듈.so 파일을 php.ini 파일의 extension_dir=확장모듈 경로에 복사한다.
# 먼저 php.ini 에서 .so 로 설치된 모듈을 찾는다.
# find / -name 'openssl.so'
# 찾은 경로로 복사한다.

cp -arp modules/mcrypt.so /usr/local/php/lib/php/extensions/no-debug-zts-20100525
cd /usr/local/php/lib/php/extensions/no-debug-zts-20100525

# php.ini 파일을 열어 extension=mcrypt.so 파일을 추가한다.
# 아파치(Apache) 재시작한다.
/usr/local/apache/bin/apachectl restart

파일이 설치되었는지 확인한다.
확인방법은
/usr/local/php/bin/php -m
또는 phpinfo()함수로 확인한다.



모듈이 추가된 것을 확인할 수 있다.

그리고 phpMyAdmin 접속시 메시지 나오는 것이 없어진 것을 확인할 수 있다.

'리눅스' 카테고리의 다른 글

CentOS6 SSH 포트 변경  (0) 2017.08.18
phpize 실행시 에러  (0) 2017.06.08
php sockets 동적 모듈 추가 (phpize)  (0) 2017.06.08
윈도우기반 리눅스 VMware 네트워크 설정  (0) 2017.05.28
리눅스 시스템 종료  (0) 2017.05.19
블로그 이미지

Link2Me

,
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

,