2013-06-22 2 views
5

postgres을 PHP와 함께 사용하려고하는데 Apache가 확장을로드 할 수 없습니다. XAMPP와windows/xampp에서 php로 postgresql 사용

윈도우 7 (64 비트)를, 나는 PHP 버전 5.4.7 이미 포스트 그레스을 설정하고 다른 응용 프로그램이 데이터베이스에 액세스 할 수 있습니다

내가 사용하고 있습니다.

내가

extension=php_pdo_mysql.dll 
extension=php_pdo_pgsql.dll 
extension=php_pdo_sqlite.dll 

내가 몇 가지 오류가 발생할 내 php.ini 파일에서 다음 행의 주석을 해제하면 PHP가 오류 로그 :

[22 6 월 2013 13시 15분 : 22 UTC] PHP 경고 : PHP 시작 : 동적 라이브러리 'C : \ xampp \ php \ ext \ php_pdo_pgsql.dll'을로드 할 수 없습니다 - Das angegebene Modul wurde nicht gefunden. in line 0

경로가 정확하고 파일이 있습니다.

은 몇 가지 조사 후, 나는 나의하여 http.conf에이 줄을 추가 :

LoadFile "C:/Program Files/PostgreSQL/9.2/bin/libpq.dll" 

을하지만이 줄을 넣어 whereever, 아파치 서비스는 더 이상 시작할 수 없습니다. 그래서 나는 그 선을 제거했다. 0

모든 것이 실행

C:\Program Files\PostgreSQL\9.2\bin 
C:\xampp\php\ext 

지금 오류가 라인에 알 수없는에서

변경 :

나는 또한 나의 PATH 변수에이 두 경로를 추가하려 동일한 로컬 컴퓨터에서 실행됩니다. 그리고 Linux/별도의 서버를 사용하는 것은 대안이 아닙니다.

phpinfo()에는 포스트그레스 관련 항목이 표시되지 않습니다.

누군가가 문제를 해결하는 방법을 알고 있기를 바랍니다. Google은 전혀 도와주지 않았습니다.

+0

권한 문제

c:/xampp/php/libpq.dll 

을 복사하는? –

+0

@Denis 권한 문제 일 경우 어떻게 알 수 있습니까? – maja

+0

" 'C : \ xampp \ php \ ext \ php_pdo_pgsql.dll'- 대용량 모듈을 사용할 수 없습니다." - 파일이 실제로 존재하지만 관계없이 발견되지 않는 것으로보고되면 아마도 읽을 수 없음을 의미합니다. Windows 탐색기에서 파일의 사용 권한을 살펴보고 유사한 dll 파일의 사용 권한과 비교하십시오. –

답변

11

좋아, 어떻게 든 나는 마지막으로 문제 해결 : 내가 XAMPP와 포스트 그레스 만 사용 그레스의 32 비트 버전을 다시 설치

(64 비트 버전도 작동합니다,하지만 내가 확인하고 싶었)

가 그럼 난 사용 가능 다시 php.ini의 확장 :

extension=php_pdo_pgsql.dll 
extension=php_pdo_sqlite.dll 
extension=php_pgsql.dll 

나는 파일을 다시 (php_error_log를) 찾을 수 없습니다라는 오류가 발생했습니다. 이 글을 읽고 후

: 나는 포스트 그레스 8.4에서 libpq.dll을 다운로드/아파치 빈과 포스트 그레스/lib 디렉토리에 모두 복사

http://postgresql.1045698.n5.nabble.com/pgAgent-installation-fails-LIBPQ-DLL-is-missing-PostgreSQL-9-0-2-x64-2008-Windows-Server-x64-td3351434.html

은 (거기에서 DLL을 대체).에서

내 경로 변수가 여전히 C:\xampp\php\ext\는하지만 너무 그 부분없이 작동합니다.

3 일 동안이 문제를 해결했으며 다른 사람들이이 문제를 빨리 해결하고 실행하는 데 도움이되기를 바랍니다.

+0

새로운 PC에이 파일을 설치했으며 Postgres 9.3이 설치된 Windows 8.1에서도 작동합니다. 경로 변수 변경은 반드시 필요한 것은 아닙니다. – maja

+0

당신은 postgre 64-bit에서 작동하도록 할 수 있습니까? –

+0

'DLL을 거기에서 대체했습니다. '- 설명해주십시오. 무엇을 의미합니까? 9.x dll을 다운로드 한 8.4 dll로 바꾸셨습니까? –

5

이것에 대한 또 다른 해결책은

c:/xampp/apache/bin/ 

Source

+0

감사합니다. –