RSS구독하기:SUBSCRIBE TO RSS FEED
즐겨찾기추가:ADD FAVORITE
글쓰기:POST
관리자:ADMINISTRATOR
'DSO'에 해당되는 글 2

우선 PHP를 make install 까지 다 했는데, 확장 모듈이 필요한 경우에는 아래와 같은 조치법이 있다. (여기에서는 iconv라는 모듈 올리는 것으로 가정하여 적겠다.)


확장 모듈 만들기


우선 아파치에서는 mod_so.c 모듈이 정적으로 아파치 core 에 컴파일되어 있어야 한다.

# httpd -l <- 확인하기
Compiled-in modules:
  http_core.c
  mod_so.c

<기본 모듈의 컴파일 방식>

우선 현재 아파치에서 사용하는 PHP 버전을 확인하고 만약 4.4.0 버전을 사용한다면,
php-4.4.0.tar.gz 버전을 받아서 /usr/local/src/ 압축을 푼다. 만약 서로 다른 버전일 경우 잘 안될 경우가 있으므로 가능한 현재 사용하는 같은 버전으로 하는 것이 좋다.

 

# tar zxvf php-4.4.0.tar.gz
# cd php-4.4.0
# ./configure --with-iconv  <- 옵션부분은 ./configure --help 을 참고하여 옵션설정을 한다.
# cd ext/
# ls -al <- iconv 폴더가 있는지 확인한다.
# cd iconv

# /usr/local/php/bin/phpize <- 아래와 같은 메세지가 나타난다.

Configuring for:
PHP Api Version:         20020918
Zend Module Api No:      20020429
Zend Extension Api No:   20050606

 

# ./configure --with-php-config=/usr/local/php/bin/php-config --with-iconv
# make
# cd modules/
# ls  <- so 모듈이 생성되었는지 확인한다.

iconv.la  iconv.so

 

# mv iconv.so /usr/local/php/modules/ <- 이부분은 php.ini 에서 extension_dir 의 경로를 확인후 모듈을 복사한다.

# vi /usr/local/Zend/etc/php.ini <- php.ini가 설치된 부분을 각자 셋팅값에 따른다.
extension=iconv.so 를 추가한다.

 

# apachectl restart

 

웹브라우저에서 phpinfo 를 확인한다.

DSO, php

HPUX 64bit apache2 + php5 + oracle DSO방식으로 연동하기

 

오오! 수정 이 후에는 php4 버전도 DSO 모듈로 올라간다ㅜ_ㅜ 만세 

 

먼저 open source를 사용하기 위해선 사전 작업을 해 둬야 한다.

 

작업환경

HP-UX B.11.23 U ia64

Apache 2.2.9

Php 5.2.6

Oracle 9i 64bit

 

 

기본셋팅

 

1) 소스 다운로드 : http://hpux.connect.org.uk/hppd/auto/dependencies.html

 

* HP-UX에서 GCC을 이용한 Apache Php를 연동을 위해서는 반드시 먼저 설치되어야 함!

패키지명

버전

Autoconf

2.59

Automake

1.9.6

Bash

3.1.16

Bison

2.1

Expat

2.2.0

Flex

2.5.4a

Fontconfig

2.3.2

Gawk

3.1.5

Gcc

4.1.0

Gettext

0.14.5

Glib

1.2.10

Gzip

1.3.5

libiconv

1.10

Libtool

1.5.22

Libxml2

2.6.23

M4

1.4.4

Make

3.80

Ncurses

5.5

Perl

5.8.7

Popt

1.7

rsync

2.6.8

Tcltk

8.4.12

Texinfo

4.8

Xpm

3.4

zlib

1.2.3

 

2) 설치방법

- SWINSTALL을 이용한 설치

swinstall –s 절대경로명/파일명

ex) #> swinstall –s /다운로드경로/gcc-3.4.3-sd-11.23.Depot

 

 

APM 설치

 

1) apache configure

./configure --prefix=/usr/local/apache2 --enable-modules=all --enable-so

apache의 경우 기본 perl경로를 /usr/bin에서 찾으니 HPUX는 /opt/perl/bin에 있다. 정상적으로 수정해야

php와 연동이 가능하다.

 

# vi /usr/local/apache2/bin/apxs

1번째라인 수정

#!/usr/bin/perl -w  -> #!/opt/perl/bin/perl -w

 

이것으로 apache는 완료

 

2) php configure

apache는 별 무리 없이 올라가지만, php는 약간의 작업을 해 줘야한다.

oracle 64bit로 설치되어 있지만, php는 컴파일시 32bit의 오라클 라이브러리를 요구하기 때문이다.

 

# vi configure(php5버전에서는 따로 안 해주어도 되는 듯하다!)

(vi 편집기에서 입력) %s/OCI8_DIR\/lib/OCI8_DIR\/lib32/g

 

이후 컴파일을 한다.

 

<<PHP 4버전일 경우>>

# CFLAGS=-pthread LDFLAGS="-lrt -lcl" ./configure --enable-libgcc \
--prefix=/usr/local/php \
--with-apxs2=/usr/local/apache/bin/apxs \
--with-config-file-path=/usr/local/apache/conf \
--with-oci8=/oracle/ora920/app/oracle/product/9.2.0 \
--with-iconv-dir=/usr/local \
--enable-shared \
--enable-magic-quotes \
--enable-sigchild \
--enable-ftp \
--without-mysql \
--enable-sockets

 

 

<<PHP 5버전일 경우>>

# CFLAGS=-pthread LDFLAGS="-lrt -lcl" ./configure --prefix=/usr/local/php2 \

--with-apxs2=/usr/local/apache2/bin/apxs \

--with-config-file-path=/usr/local/apache2/conf \

--with-oci8=/oracle/ora920/app/oracle/product/9.2.0 \

--enable-shared \

--enable-magic-quotes \

--enable-sigchild \

--without-mysql \
--enable-ftp \

--enable-sockets

 

컴파일 완료 후, 한가지 더 작업을 해줘야 make, make install시 문제가 발생하지 않는다.

(그냥 make 하면 so 모듈을 생성하지 못한다.)

 

# vi libtool(컴파일 완료 후 생성된다.)

deplibs_check_method="어쩌구 저쩌구" 항목을 deplibs_check_method="pass_all"로 수정한다.

 

이 후, make && make install 하면 완료된다.

우주곰:지구곰이 아닙니다.
지구곰이 아닙니다.
Categories (190)
Information (5)
About uzoogom (5)
My Advanced Linux (73)
Learning Linux (96)
OperatingSystem (5)
Databases (4)
Tips! (1)
OpenSource (1)
«   2018/01   »
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      
  1. 2012/12 (2)
  2. 2012/04 (3)
  3. 2012/03 (6)
  4. 2012/02 (6)
  5. 2012/01 (2)