Sorry, op deze manier gaat het niet werken. ssh2_tunnel
maakt een externe bestandsaanwijzer, ook bekend als resource, om te gebruiken in php-functies zoals fgets()
, fwrite()
etc. Het is niet hetzelfde met ssh port forwarding.
Je kunt proberen de ssh-tunnel op je php-server te openen vanuit de shell:ssh [email protected] -i ./ssh_key -L 5555:localhost:5432
. Terwijl de sessie actief is, zou u vanuit uw php-script verbinding moeten kunnen maken met de database als pg_connect("host=127.0.0.1 port=5555 dbname=dbname user=dbuser password=dbpass");
Het is natuurlijk niet voor productiedoeleinden. Wat je nodig hebt voor de productie is om toegang tot de database toe te staan vanaf je php-toepassingsserver. Mogelijk moet u postgresql.conf
. bewerken om ervoor te zorgen dat de server is gebonden aan de juiste interface, en pg_hba.conf
om verbindingen van uw php-host toe te staan.