이 프로젝트는 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을 반환합니다.
}
?>

aphpdectionenceindectioncontainerisatoolthatmanagesclassdependencies, 향상 Codemodularity, testability 및 maintainability.itactAsacentralHubForCreatingAndingDinjectingDingingDingingdecting.

대규모 응용 프로그램의 경우 SELLENCIONINGESS (DI)를 선택하십시오. ServicElocator는 소규모 프로젝트 또는 프로토 타입에 적합합니다. 1) DI는 생성자 주입을 통한 코드의 테스트 가능성과 모듈성을 향상시킵니다. 2) Servicelocator는 센터 등록을 통해 서비스를 얻습니다. 이는 편리하지만 코드 커플 링이 증가 할 수 있습니다.

phPapplicationSCanBeoptimizedForsPeedandefficiencyby : 1) ENABLEOPCACHEINPHP.INI, 2) PREPAREDSTATEMENTSWITHPDOFORDATABASEQUERIES 사용

phpeMailValidationInvoLvestHreesteps : 1) formatValidationUsingRegularexpressionsTochemailformat; 2) dnsValidationToErethedomainHasaValidMxRecord; 3) smtpvalidation, theSTHOROUGHMETHOD, theCheckSiftheCefTHECCECKSOCCONNECTERTETETETETETETWERTETWERTETWER

TomakePhPapplicationSfaster, followthesesteps : 1) useopCodeCaching likeOpcachetOrpectipiledScriptBecode.2) MinimizedAtabaseQueriesByUsingQueryCachingandEfficientIndexing.3) leveragephp7 assistorBetterCodeeficiession.4) 구현 전략적 지시

toImprovePhPapplicationSpeed, followthesesteps : 1) enableOpCodeCachingWithApcuTeCeScripteXecutionTime.2) 구현 구현

의존성 주입 (DI)은 명시 적으로 전이적 종속성에 의해 PHP 코드의 테스트 가능성을 크게 향상시킵니다. 1) DI 디퍼 커플 링 클래스 및 특정 구현은 테스트 및 유지 보수를보다 유연하게 만듭니다. 2) 세 가지 유형 중에서, 생성자는 상태를 일관성있게 유지하기 위해 명시 적 표현 의존성을 주입합니다. 3) DI 컨테이너를 사용하여 복잡한 종속성을 관리하여 코드 품질 및 개발 효율성을 향상시킵니다.

DatabaseQuesyOptimizationInphPinVolvesVesstoigiestoInsperferferferferformance.1) SelectOnlyNecessaryColumnstoredAtatatransfer.2) useinDexingTeSpeedUpdatarretieval.3) ubstractOrerEresultSoffRequeries.4) UtilizePreDstatements Offeffi


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

ZendStudio 13.5.1 맥
강력한 PHP 통합 개발 환경

SecList
SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

Dreamweaver Mac版
시각적 웹 개발 도구

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.