Maaf, cara ini tidak akan berhasil. ssh2_tunnel
membuat pointer file jarak jauh, alias sumber daya, untuk digunakan dalam fungsi php seperti fgets()
, fwrite()
dll. Tidak sama dengan penerusan port ssh.
Anda dapat mencoba membuka terowongan ssh di server php Anda dari shell:ssh [email protected] -i ./ssh_key -L 5555:localhost:5432
. Saat sesi masih hidup, Anda harus dapat terhubung ke database dari skrip php Anda sebagai pg_connect("host=127.0.0.1 port=5555 dbname=dbname user=dbuser password=dbpass");
Hal ini tidak untuk penggunaan produksi tentu saja. Yang Anda butuhkan untuk produksi adalah mengizinkan akses ke database dari server aplikasi php Anda. Anda mungkin perlu mengedit postgresql.conf
untuk memastikan server terikat ke antarmuka yang benar, dan pg_hba.conf
untuk mengizinkan koneksi dari host php Anda.