이 프로젝트는 Linux에서 php5.3의 Oracle 클라이언트를 컴파일해야 하기 때문에 수행된 단계와 우회 경로를 간략하게 소개하고 싶습니다.
1. OCI, OCCI, JDBC-OCI 등 관련 파일이 포함된 Oracle 클라이언트 패키지를 다운로드합니다.
1.1 다운로드 파일 주소
http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html
운영체제 버전에 따라 해당 소프트웨어를 선택하세요. 필요한 것은 X86_64 선택입니다
Linux x86-64용 인스턴트 클라이언트
1.2용으로 다운로드해야 하는 파일은 다음과 같습니다.
oracle-instantclient11.1-basic-11.1.0.7.0-1.x86_64.rpm
oracle-instantclient11.1-devel-11.1.0.7.0-1.x86_64.rpm
oracle-instantclient11.1-sqlplus-11.1.0.7.0-1.x86_64.rpm
한 가지 강조해야 할 점은 정상적으로 다운로드를 위해서는 오라클 계정을 등록해야 한다는 점입니다.
2. Oracle 클라이언트 패키지를 설치합니다.
서버의 지정된 디렉터리에 프로그램 패키지를 업로드하세요
chmod x *.rpm
#RPM 패키지에 실행 권한 부여
rpm -ivh oracle-instantclient11.1-basic-11.1.0.7.0-1.x86_64.rpm oracle-instantclient11.1-devel-11.1.0.7.0-1.x86_64.rpm oracle-instantclient11.1-sqlplus-11.1 .0.7.0-1.x86_64.rpm
#RPM 패키지 설치
echo "/usr/lib/oracle/11.1/client64/lib/" > /etc/ld.so.conf.d/oracle_client.conf
#기본 로드에 라이브러리 경로 추가
/sbin/ldconfig
#동적 링크 라이브러리 다시 로드
3. OCI8 PHP 확장을 설치합니다(여기에 지정된 PHP 설치 경로는 /usr/local/webserver/php입니다)
냠 libaio 설치
#yum은 libaio 라이브러리를 설치합니다. libaio는 Linux에서 비동기 비차단 방식으로 파일을 읽고 쓰는 방법을 제공하며 읽기 및 쓰기 효율성이 상대적으로 높습니다.
wget
http://pecl.php.net/get/oci8-1.4.10.tgz
#OCIExtension 다운로드
tar zxvf oci8-1.4.10.tgz
#압축해제
cd oci8-1.4.10
/usr/local/webserver/php/bin/phpize CFLAGS="-I/usr/lib/oracle/11.1/client64" CXXFLAGS="-I/usr/lib/oracle/11.1/client64"
#phpize를 사용하여 PHP 플러그인 모듈의 컴파일 환경을 준비합니다. 컴파일에 필요한 makefile은 지정된 환경 변수에 따라 생성됩니다. phpize는 php-devel의 내용이므로 centos에서는 yum install php-를 실행하면 됩니다. 설치하려면 개발하세요
./configure –with-php-config=/usr/local/webserver/php/bin/php-config –with-oci8=/usr/lib/oracle/11.1/client64
을 만들다
설치
#컴파일, 설치
만들 때 다양한 라이브러리 파일을 찾을 수 없다는 오류가 보고된다는 점을 강조해야 합니다. oralce의 런타임 주소를 추가하려면 makefile을 수정해야 합니다.
makefile을 열고 다음 형식으로 INCLUDE를 찾으세요.
포함 = -I/usr/local/php/include/php -I/usr/include/oracle/10.2.0.3/client
그런 다음 끝에 =="-I/usr/lib/oracle/11.1/client64를 추가하고 다시 make하면 성공합니다.
4. PHP.ini 수정(/usr/local/webserver/php/etc/php.ini)
extension_dir = "/usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20060613/" 뒤에 줄을 추가합니다.
확장자 = "oci8.so"
5. OCI를 적용하려면 아파치를 다시 시작하세요
6. 웹 디렉토리에 phpinfo.php 파일을 생성하고, 그 안에 내용을 입력하고, 웹을 통해 접근하세요
phpinfo();
?>
OCI8 부분을 찾으면 아래 사진과 같이 OCI 설치가 정상이라는 뜻입니다
다음으로, PHP를 통해 Oracle 데이터베이스에 접근할 수 있습니다. 주의해야 할 것은 PHP 아래의 Oracle 연결 문자열입니다.
$사용자명='***';
$passwd='***';
$프로토콜='TCP';
$SERVICE_NAME='***';
$ORACLE_SERVER_IP_ADDRESS='***.***.***.***';
$Port='1521′;
$db = "(DESCRIPTION=(ADDRESS_LIST = (ADDRESS = (PROTOCOL = $protocol)(HOST = $ORACLE_SERVER_IP_ADDRESS)(PORT = $Port)))(CONNECT_DATA=(SID=$SERVICE_NAME)))";
$conn = oci_connect($username,$passwd, $db);
PutEnv("NLS_LANG=간체 중국어_CHINA.AL32UTF8");
if (!$conn) {
$e = oci_error();
인쇄 htmlentities($e['message']);
출구;
}else {
echo "오라클 생성을 완료하세요!";
$conn을 반환합니다.
}
?>