Phpseclib Connect MySQL Server
-
12-11-2019 - |
Pregunta
Quiero conectarme a mi servidor MySQL remoto a través del reenvío de puertos.Desafortunadamente, mi proveedor de alojamiento no tiene instalado php_ssh2
instalado en el servidor, por lo que tengo que trabajar a través de la biblioteca de phpseclib
.Hasta ahora puedo hacer:
1 - Conecte al servidor usando Net_SSH2
:
$ssh = new Net_SSH2('xx.xxx.xx.xx');
if (!$ssh->login('user', 'password')) {
exit('Login Failed');
}
Si hago echo $ssh->exec('ls -la');
, obtiene el listado de directorio, informamos que estamos conectados con éxito.
si ejecuto
2 - echo $ssh->exec('echo "select * from table where company_id=\"15\";" | mysql');
se desencadena:
stdin: no es un error TTY 1045 (28000): Acceso denegado para el usuario 'Usuario' @ 'localhost' (usando contraseña: no)
3 - Si hago
echo $ssh->exec('ssh -f -L 3307:localhost:3306 root@xx.xxx.xxx.xxx sleep 60 >> logfile');
Se ejecuta para siempre, lo que resulta en ningún error de respuesta del servidor.
Estoy sacando mi cabello.Ayuda !!!!!
Solución
tal vez intente esto?:
echo $ssh->exec('echo "select * from table where company_id=\"15\";" | mysql -u username -password=password database');
Como es probable que esté esperando que se ingrese una contraseña.