PHP 애플리케이션 구축

자율운영 AI 데이터베이스에 액세스하는 PHP 애플리케이션을 구축하려면 먼저 자율운영 AI 데이터베이스의 지속적인 가용성 및 고성능 기능을 활용할 수 있는 데이터베이스 액세스를 지원하도록 개발 시스템을 구성해야 합니다.

개발 시스템을 구성한 후에는 응용 프로그램에서 데이터베이스 연결 및 SQL 문을 코딩하여 지속적인 가용성 및 고성능 기능을 활용합니다.

PHP 개발 시스템 구성

PHP 애플리케이션이 자율운영 AI 데이터베이스의 지속적인 가용성 및 고성능 기능을 활용할 수 있도록 개발 시스템을 구성하려면 다음 단계를 수행합니다.

  1. PHP를 다운로드하여 설치하십시오.

  2. Oracle Instant Client를 다운로드하고 설치합니다.

  3. PHP OCI8을 다운로드하고 설치합니다.

  4. 데이터베이스에 대한 클라이언트 인증서를 다운로드하고 Oracle Instant Client에서 사용할 수 있도록 설정합니다.

시작하기 전에

개발 시스템을 성공적으로 구성하려면 특정 기준을 충족해야 합니다.

PHP 다운로드 및 설치

시스템의 OS 및 아키텍처에 대한 PHP 다운로드 및 설치:

sudo dnf install -y oracle-release-el8 oracle-php-release-el8
sudo dnf install -y php php-devel php-xml dtrace-utils
wget http://pear.php.net/go-pear.phar
sudo php go-pear.phar

Oracle Instant Client 다운로드 및 설치

시스템의 OS 및 구조에 사용할 Oracle Instant Client 기본 패키지를 다운로드하여 설치합니다.

sudo dnf -y install oracle-release-el8
sudo dnf -y install oracle-instantclient21.13-basic oracle-instantclient21.13-devel

(모든 Instant Client 패키지 목록을 보려면 http://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/index.html으로 이동하십시오.)

PHP OCI8 다운로드 및 설치

시스템의 OS 및 아키텍처에 맞는 PHP용 OCI8 확장 프로그램을 다운로드하여 설치합니다.

sudo PHP_DTRACE=yes pecl install oci8
sudo sh -c "echo extension=oci8.so > /etc/php.d/20-oci8.ini"
sudo sh -c "echo oci8.events = On > /etc/php.d/20-oci8.ini"

응용 프로그램에 Oracle 환경 변수가 필요한 경우 다음과 같이 /etc/sysconfig/httpd 구성 파일에 추가합니다.

NLS_LANG=AMERICAN_AMERICA.AL32UTF8
NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS'
ORA_SDTZ=UTC

이러한 변수를 추가하는 경우 Apache HTTP 서버를 다시 시작하여 새 변수를 읽습니다.

sudo systemctl restart httpd

데이터베이스에 대한 클라이언트 인증서 다운로드 및 설치

  1. 데이터베이스에 대한 클라이언트 자격 증명이 포함된 zip 파일을 컴퓨터의 보안 디렉토리에 다운로드합니다.

    이 zip 파일은 Oracle Cloud 콘솔의 데이터베이스 세부정보 페이지에서 다운로드할 수 있습니다. 이 페이지에 액세스할 수 있는 Oracle Cloud 사용자 계정이 있는 경우 다음과 같이 인증서를 다운로드합니다. 해당 계정이 없는 경우 zip 파일을 보호하는 데 사용된 비밀번호와 함께 데이터베이스 관리자로부터 zip 파일을 가져와야 합니다.

    1. 웹 브라우저에서 Oracle Cloud에 사인인하고 자율운영 AI 데이터베이스에 대한 세부정보 페이지로 이동합니다.

    2. DB 접속을 누릅니다.

    3. 데이터베이스 접속 페이지에서 다운로드를 누릅니다.

    4. 전자 지갑 다운로드 대화상자의 비밀번호 필드에 전자갑 비밀번호를 입력하고 비밀번호 확인 필드에 비밀번호를 확인하십시오.

      비밀번호는 8자 이상이어야 하며 하나 이상의 문자와 숫자 또는 특수 문자를 하나 이상 포함해야 합니다.

    5. 다운로드를 눌러 클라이언트 인증서 zip 파일을 보안 디렉토리에 저장합니다.

  2. zip 파일을 다운로드한 후 다음 단계를 수행합니다.

    1. 클라이언트 인증서 zip 파일의 압축을 풉니다.

    2. 클라이언트 자격 증명에 제공된 sqlnet.ora 파일을 편집하여 "?/network/admin"를 클라이언트 자격 증명의 압축을 해제한 디렉토리의 전체 경로로 바꿉니다. 예를 들어, 다음과 같이 변경합니다.

       (DIRECTORY="?/network/admin")
      

      대상은 다음과 같습니다.

       (DIRECTORY="/users/jdoe/adbcredentials")
      
    3. TNS_ADMIN 환경 변수를 생성하고 이 값을 클라이언트 자격 증명의 압축을 해제한 디렉토리의 전체 경로로 설정합니다.

코드 데이터베이스 연결 및 SQL 문

자율운영 AI 데이터베이스에 대한 PHP 애플리케이션 접속을 지원하도록 개발 시스템을 구성한 후 다음 지침에 따라 애플리케이션 데이터베이스 접속에 대한 고성능 및 지속적인 가용성을 확보하십시오.

PHP의 경우 Oracle OCI8 확장을 다운로드하여 PHP에 설치하는 과정에서 php.ini 파일에 oci8.events = On 행을 추가할 때 FAN을 사용으로 설정합니다.

OCI8 인터페이스는 특정 연결 풀링 호출을 표시하지 않습니다. 대신 내부적으로 연결 풀링을 사용합니다. 연결 풀링의 이점을 실현하려면 oci_pconnect() 함수를 사용하여 HTTP 요청에 걸쳐 남아 있는 지속 연결을 생성하거나 재사용합니다.

예:

$connection = oci_pconnect("appuser", getenv("MY_PASSWORD_ENV_VAR"), "tp_tls");

이 예에서는 tp_tls 데이터베이스 서비스에 대한 영구 접속을 생성합니다.

관련 콘텐츠