이 항목은 여러 번 요청되었지만 모든 솔루션이 내 컴퓨터에서 작동하지 않습니다.php_oci8_11g.dll은 유효한 Win32 응용 프로그램이 아닙니다.
Windows 7을 10G oracle dabatase와 연결하려고했지만 oci 확장자가로드되지 않았습니다. 여기에 몇 가지 사실 :
C:\php>php -m
PHP 경고 : PHP 시작 : 동적 라이브러리 'C를 : PHP는 \ 내선 \의 php_oci8_11g.dll \'로드 할 수 없습니다 - % 1 올바른 Win32 응용 프로그램이 아닙니다.
C:\php>php -v
PHP 5.6.19 (cli) (built: Mar 2 2016 20:09:42)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
- 64X 아키텍처
- TS VC11
C:\>tnsping localdb
TNS Ping Utility for 32-bit Windows: Version 10.2.0.1.0 - Production on 02-AUG-2
016 22:37:50
,536,913,632 10
문제 해결
- 나는 oci8 2.0.11을 사용하고 있습니다. 접힌
ext/
에서 그들을 삭제했습니다. extesions의 나머지는 꽤 잘로드됩니다. - PATH 변수는
그냥 필요한 오라클 DLL 파일을 최대 보았다 ORACLE_HOME과 PHP 경로를 포함하고 그들은 거기 :
C:\>where oci*
C:\oracle\product\10.2.0\db_2\BIN\oci.dll C:\oracle\product\10.2.0\db_2\BIN\ocijdbc10.dll C:\oracle\product\10.2.0\db_2\BIN\ociw32.dll
- 오라클 클라이언트는 내 옆에 필요하지 않습니다 때문에 데이터베이스가 동일한 컴퓨터에 설치되고 필요한 모든 라이브러리가 설치됩니다.
없습니까? 사전에 감사합니다
PHP는 x64이지만 상태는 Oracle입니까? '비트'는 일치해야합니다. – timclutton