За съжаление няма да работи по този начин. ssh2_tunnel
създава указател на отдалечен файл, известен още като ресурс, който да се използва в php функции като fgets()
, fwrite()
и т.н. Не е същото с препращането на ssh порт.
Можете да опитате да отворите ssh тунел на вашия php сървър от обвивката:ssh [email protected] -i ./ssh_key -L 5555:localhost:5432
. Докато сесията е активна, трябва да можете да се свържете с базата данни от вашия php скрипт като pg_connect("host=127.0.0.1 port=5555 dbname=dbname user=dbuser password=dbpass");
Разбира се, не е за производствена употреба. Това, от което се нуждаете за производство, е да разрешите достъп до базата данни от вашия php сървър за приложения. Може да се наложи да редактирате postgresql.conf
за да се гарантира, че сървърът е обвързан с правилния интерфейс, и pg_hba.conf
за да разрешите връзки от вашия php хост.