2013-08-23 2 views
1

어떻게 지금까지 내가 우분투 아래 PG-SQL 모듈을 설치하는 중PHP 연결

$ java -cp h2-1.3.172.jar org.h2.tools.Server 
    Web Console server running at http://127.0.1.1:8082 (others can connect) 
    TCP server running at tcp://127.0.1.1:9092 (only local connections) 
    PG server running at pg://127.0.1.1:5435 (only local connections) 

에 포함 된 서버를 시작 시도, H2 데이터베이스에 PHP를 연결할 수 있습니다

sudo apt-get install php5-pgsql 

다음 내 PHP에서 나는 다음과 같은 한

$conn = pg_connect("host=127.0.1.1 port=5435 dbname=/home/frank/testdb user=sa password="); 

또한 시도 다른 포트 : 5435, 9092, 다른 호 t : localhost, 127.0.0.1 그러나 아무것도 아니며 반환 된 연결이 null이거나 스크립트가 중지됩니다.

의견이 있으십니까?

답변

1

pg_connect는 H2DB가 아닌 PostrgeSQL 데이터베이스 서버에 연결하는 데 사용됩니다. 사람들은 완전히 다른 제품입니다 및

당신이 PHP를 클라이언트에 필요한 기능을 노출 PHP가 자바 다리와 일부 사용자 지정 자바 클래스를 사용할 수 있습니다 (H2)에 연결하는 데있는 Compatibile하지

+0

H2는 PostgreSQL과의 호환성을 제공하며이를 사용하는 일부 포럼에서는 H2 용 PHP에서 적절한 드라이버가 누락되는 것을 막을 수있는 유일한 방법입니다. php-java-bridge로 작동하는 예제가 있다면 공유하십시오. 지금까지 아무도 그것을 할 수 없었습니다. – dendini

+0

트릭은 리소스를 직렬화 할 수 없기 때문에 연결 관련 작업을 수행하는 것이 불가능하며 하나 이상의 추상화 레이어를 추가해야한다는 것입니다. 예를 들어 SELECT 쿼리를 수행하고 결과 집합을 가져올 수 없습니다. Java 측에서 SELECT를 수행하고 일부 ORM을 사용하여 결과 집합을 객체로 변환 한 다음 해당 객체를 PHP로 다시 보낼 수 있습니다. – Matthias

1

는 PHP를 실행하는 동안 나는 작년이 ​​작동했다 자바 서블릿의 코드. 내 실험은 https://github.com/webdevelopersdiary/jamp에서 가능합니다. 그것은 Quercus가 지원하고 PHP 데이터베이스 연결 시도를 H2로 리다이렉트합니다 (적어도 MySQL에서는 그렇고 PSQL에서는 테스트하지 않았지만이 경우에도 동일하게 수행 할 수 있습니다). 또한 H2의 "호환성 모드"는 매우 기초적이며, 여전히 당신이 먹는 예쁜 표준 PSQL의 것들을 깨뜨린다.