2017-09-01 165 views
-1

我需要使用PHP連接到遠程服務器上的postgres數據庫。我在本地機器上打開了一個SSH隧道,本地端口8000.隧道似乎工作正常。如何使用php通過打開的ssh隧道連接到postgres數據庫?

當我試圖用PHP連接到數據庫時出現問題。下面的代碼:

$ConnectionString = "host=127.0.0.1:8000 user=username password=passphrase dbname=databasename sslmode=require port=5432"; 
pg_connect($ConnectionString); 

產生以下錯誤:

Warning: pg_connect(): Unable to connect to PostgreSQL server: could not translate host name "127.0.0.1:8000" to address: Unknown host in [path]\mappage.php on line 22 
Not connected 

那麼,如何能我打開通過SSH數據庫連接?

值得一提的是,我可以使用SSH連接到PGAdmin的遠程PostgreSQL數據庫。

回答

0

書面in the manual它應該是:

$ConnectionString = "host=127.0.0.1 port=8000 user=username password=passphrase dbname=databasename sslmode=require"; 

你有口兩次,一次不正確。

+0

不幸的是,它只是導致代碼產生以下錯誤:'警告:pg_connect():無法連接到PostgreSQL服務器:SSL錯誤:未知協議在[路徑] \ mappage.php在線22 未連接:' 。 – budgiebeaks

相關問題