2011-03-19 4 views
1

PHP에서 oracle로 연결하려고합니다. php_oci8.dll 라이브러리를 다운로드하여 PHP의 ext 디렉토리에 넣고, php.ini 파일에 extension=php_oci8.dll을 정의하고 웹 서버를 다시 시작했습니다. Call to undefined function oci_connect()이라는 오류 메시지가 나타납니다. PHP가 --with-oci8=path_to_library으로 구성되어야한다는 것을 알았습니다. PHP 구성 (phpinfo())을 보면 "configure 명령"섹션에 --with-oci8=D:\php-sdk\oracle\instantclient10\sdk,shared이라고 표시되어 있습니다.oracle을 사용하여 PHP를 구성하십시오.

Windows 7 컴퓨터에서 실행됩니다.

어떻게 변경할 수 있습니까? 그리고 그게 효과를 내기 위해서 내가해야 할 일이 또 있습니까?

감사합니다.

답변

1

--with stuff는 라이브러리를 PHP로 직접 컴파일하려는 경우에만 해당됩니다. 'extension'인수를 추가해도 oracle 라이브러리가로드되지 않으면 올바른 php.ini를 수정했는지 확인하십시오. 또는 .dll에 대해 올바른 경로가 나열되어 있습니다.

보통 두 개의 php.ini가 있습니다. 하나는 웹 서버 작업을위한 것이고 다른 하나는 명령 줄을위한 것입니다.

현재 구성이 phpinfo() 인 것을 볼 수 있습니다. Oracle 확장이로드되면 config 옵션이 나열된 섹션이 표시됩니다.

0

웹 서버에 Oracle 클라이언트를 설치하십시오 (그렇지 않은 것 같습니다). 오라클에 연결하려면 최소한 Oracle Instant Client과 같은 것이 필요합니다.

환경 설정 방법에 대한 PHP Manual의 조언을 따르십시오. 이 페이지에는 BTW 문제 해결에 대한 유용한 섹션도 있습니다.

+0

이제 http://www.oracle.com/technetwork/articles/technote-php-instant-084410.html의 지침에 따라 작동시키고 있습니다. Oracle Instant Client를 지금 사용하고 있지만 그 페이지에는 그것은 그것없이 일할 것이라고. PHP와 Oracle DB 서버를 의미합니다. 나는 또한 그것을 시도 할 것이다. – Tchypp

+0

Oracle 데이터베이스가 웹 서버와 동일한 서버에 설치된 경우 Instant Client가 없어도 작동한다는 내용입니다 (이 경우 데이터베이스 라이브러리를 사용할 수 있음). 그 상황을 설명하는 경우 여분의 Oracle 클라이언트를 설치할 필요가 없습니다. –

+0

네, 맞습니다. 내 개발 환경에서는 이것이 사실입니다. 그래도 인스턴트 클라이언트 없이는 성공하지 못했습니다. – Tchypp

관련 문제