2017-02-02 40 views
1

これは私の最初の投稿です、私はあなたが私を助けることを願っています。PHPで逆SSH Mysql経由で接続

私がやりたいことは、会社のリモートサーバーに逆SSH経由で接続することです。

COMPANY $ ssh -R 36060:localhost:22 [email protected] 

は、次にローカル

LOCAL $ ssh [email protected] -p 36060 
LOCAL $ mysql -h 127.0.0.1 -u root -p root 

ですべてが良いですが、たっがターミナルで動作しますが、私は、何の問題表を参照してくださいすることはできません。

これ以降、phpアーカイブにあります。

<?php 
$cnn = mysqli_connect('127.0.0.1','root','root','user_database',33060); 
?> 

ただし、ブラウザで開こうとすると常にエラーが表示されます。

Warning: Packets out of order. Expected 0 received 45. Packet size=4739923 in /opt/lampp/htdocs/test.php on line 2 
Warning: mysqli_connect(): MySQL server has gone away in /opt/lampp/htdocs/test.php on line 2 

私は、「テストサーバー」でmy.cfでLOCALとCOMPANYするmax_allowed_pa​​cket = 128Mの変化を設定を変更しようとするが、何も働きません。

あなたが任意のアイデアを持っている場合は、助けてください:(

EDIT:!問題が解決

サーバーの$ sshの-fNT -R 33060:localhostを:3306 [email protected]

-p LOCAL $のmysql -h 127.0.0.1 -P 33060 -u rootとperfectyに動作します:ここでD

答えて

0

は私のPHPのSCであります接続するript。 まず、ssh公開鍵をリモートサーバの認証済み鍵に追加してください。

shell_exec("ssh -f -L 3307:localhost:3306 [email protected] sleep 10 >> logfile"); 
$DB = new PDO("mysql:host=$servername_local;dbname=$dbname_local;port=3307", $username_local, $password_local); 
$DB->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
関連する問題