Beklager, det kommer ikke til at fungere på denne måde. ssh2_tunnel
opretter en ekstern filpointer, også kaldet ressource, til brug i php-funktioner som fgets()
, fwrite()
osv. Det er ikke det samme med ssh port forwarding.
Du kan prøve at åbne ssh-tunnelen på din php-server fra skallen:ssh [email protected] -i ./ssh_key -L 5555:localhost:5432
. Mens sessionen er i live, bør du være i stand til at oprette forbindelse til databasen fra dit php-script som pg_connect("host=127.0.0.1 port=5555 dbname=dbname user=dbuser password=dbpass");
Det er selvfølgelig ikke til produktionsbrug. Det du skal bruge til produktion er at give adgang til databasen fra din php-applikationsserver. Du skal muligvis redigere postgresql.conf
for at sikre, at serveren er bundet til korrekt grænseflade, og pg_hba.conf
for at tillade forbindelser fra din php-vært.