Tyvärr, det kommer inte att fungera på det här sättet. ssh2_tunnel skapar en fjärrfilpekare, aka resurs, som ska användas i php-funktioner som fgets() , fwrite() etc. Det är inte samma sak med ssh port forwarding.
Du kan försöka öppna ssh-tunneln på din php-server från skalet:ssh example@sqldat.com -i ./ssh_key -L 5555:localhost:5432 . Medan sessionen är vid liv bör du kunna ansluta till databasen från ditt php-skript som pg_connect("host=127.0.0.1 port=5555 dbname=dbname user=dbuser password=dbpass");
Det är naturligtvis inte för produktionsbruk. Vad du behöver för produktion är att tillåta åtkomst till databasen från din php-applikationsserver. Du kan behöva redigera postgresql.conf för att säkerställa att servern är bunden till korrekt gränssnitt och pg_hba.conf för att tillåta anslutningar från din php-värd.