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 example@sqldat.com -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.