[英]How can I connect a PHP/Codeigniter application to a remote MySQL database via SSH tunnel?
[英]How can I connect to a postgres database using php via an open ssh tunnel?
我需要使用 PHP 連接到遠程服務器上的 postgres 數據庫。 我在本地機器上打開了一個 SSH 隧道,本地端口 8000。隧道似乎工作正常。
當我嘗試使用 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 數據庫。
設置隧道后,您將通過 127.0.0.1 連接到數據庫。 例如(MySQL 示例):
ssh -L 127.0.0.1:8000:127.0.0.1:5432 sshuser@example.com
之后,我的數據庫的連接參數是:
Host: 127.0.0.1 (localhost would try to connect to socket)
Port: 8000
User: username
Pass: passphrase
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.