Xin lỗi, nó sẽ không hoạt động theo cách này. ssh2_tunnel
tạo một con trỏ tệp từ xa, còn gọi là tài nguyên, được sử dụng trong các hàm php như fgets()
, fwrite()
v.v ... Nó không giống với chuyển tiếp cổng ssh.
Bạn có thể thử mở đường hầm ssh trên máy chủ php của mình dưới dạng shell:ssh [email protected] -i ./ssh_key -L 5555:localhost:5432
. Trong khi phiên hoạt động, bạn sẽ có thể kết nối với cơ sở dữ liệu từ tập lệnh php của mình dưới dạng pg_connect("host=127.0.0.1 port=5555 dbname=dbname user=dbuser password=dbpass");
Tất nhiên, nó không phải để sử dụng trong sản xuất. Những gì bạn cần cho quá trình sản xuất là cho phép truy cập vào cơ sở dữ liệu từ máy chủ ứng dụng php của bạn. Bạn có thể cần chỉnh sửa postgresql.conf
để đảm bảo máy chủ được ràng buộc với giao diện chính xác và pg_hba.conf
để cho phép kết nối từ máy chủ php của bạn.