PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

PHP Se connecter à PostgreSQL en utilisant ssh2_tunnel

Désolé, cela ne fonctionnera pas de cette façon. ssh2_tunnel crée un pointeur de fichier distant, alias ressource, à utiliser dans les fonctions php comme fgets() , fwrite() etc. Ce n'est pas la même chose avec la redirection de port ssh.

Vous pouvez essayer d'ouvrir un tunnel ssh sur votre serveur php depuis le shell :ssh [email protected] -i ./ssh_key -L 5555:localhost:5432 . Pendant que la session est active, vous devriez pouvoir vous connecter à la base de données à partir de votre script php en tant que pg_connect("host=127.0.0.1 port=5555 dbname=dbname user=dbuser password=dbpass");

Ce n'est pas pour une utilisation en production bien sûr. Ce dont vous avez besoin pour la production, c'est d'autoriser l'accès à la base de données à partir de votre serveur d'application php. Vous devrez peut-être modifier postgresql.conf pour s'assurer que le serveur est lié à la bonne interface, et pg_hba.conf pour autoriser les connexions depuis votre hébergeur php.