PHP 関数を使用して SSH 経由でリモート Linux マシン上でホストされている MySQL データベースへの接続を確立するのは難しい場合があります。提供されたコードを使用すると、「mysqli_connect() はパラメータ 6 が文字列であることを期待しています、リソースが指定されています」というエラーが発生することがあります。
このコードは、mysqli_connect() 関数を使用して、 SSH トンネル経由でデータベースに接続します。ただし、mysqli_connect() 関数は 6 番目のパラメータとして文字列 (トンネルを示す) を期待しますが、ssh2_tunnel() 関数はリソースを返します。
解決するにはこの問題では、MySQL データベース サーバーへの SSH トンネルをセットアップします。効果的な方法の 1 つは、セキュリティ強化のために Jumpbox プロキシを使用することです。このアプローチには、SSH クライアントを使用してローカル ポート転送トンネルを作成し、ローカル マシンとデータベース サーバーの間に安全なチャネルを効果的に作成することが含まれます。
使用方法コマンド ライン ツール (SSH トンネル セットアップ):
ssh -fNg -L 3307:10.3.1.55:3306 [email protected]
データベースへの接続:
$mysqli = mysqli_connect("127.0.0.1:3307", "DB_USERNAME", "DB_PASSWORD", "dbname");
追加の考慮事項:
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3