Pardon, takto to nepůjde. ssh2_tunnel
vytvoří ukazatel na vzdálený soubor, neboli prostředek, který se má použít ve funkcích php, jako je fgets()
, fwrite()
atd. S přesměrováním portů ssh to není stejné.
Můžete zkusit otevřít ssh tunel na vašem php serveru ze shellu:ssh [email protected] -i ./ssh_key -L 5555:localhost:5432
. Zatímco je relace aktivní, měli byste být schopni se připojit k databázi z vašeho php skriptu jako pg_connect("host=127.0.0.1 port=5555 dbname=dbname user=dbuser password=dbpass");
Samozřejmě to není pro výrobní použití. Co potřebujete pro produkci, je umožnit přístup k databázi z vašeho php aplikačního serveru. Možná budete muset upravit postgresql.conf
abyste zajistili, že je server navázán na správné rozhraní, a pg_hba.conf
pro povolení připojení z vašeho hostitele php.