Мне нужно туннелировать до mysql, база данных установлена на сервере Centos. Я могу подключиться к серверу, используя мой ключ. Но не s sh.
php работает только на xampp apache, windows 10 и mysql на удаленном сервере.
$user = 'root';
$password = '123456';
$database = 'example_db';
$server = 'example.com';
$port = '3307';
exec('ssh -f -L 3307:127.0.0.1:3306 root@example.com sleep 10 > /dev/null');
try {
$db = new PDO("mysql:host=$server;port=$port,dbname=$database", $user, $password);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
echo "Connection failed: " . $e->getMessage();
}
И ошибка:
Uncaught PDOException: SQLSTATE[42S02]: Base table or view not found
Если я подключаюсь нормально без использования s sh, все работает, но мне нужно использовать туннелирование s sh, потому что некоторые компании разрешают только у нас есть доступ к порту 80 на их серверах, и у нас есть доступ sh.