فبسكليب كونكت ميسكل سيرفر
-
12-11-2019 - |
سؤال
أريد الاتصال بخادم الخلية عن بعد من خلال ميناء الشحن.لسوء الحظ ، ليس لدى مزود الاستضافة الخاص بي php_ssh2
مثبتة على الخادم لذلك لا بد لي من العمل من خلال phpseclib
مكتبة.حتى الآن أنا قادر على القيام به:
1-الاتصال بالخادم باستخدام Net_SSH2
:
$ssh = new Net_SSH2('xx.xxx.xx.xx');
if (!$ssh->login('user', 'password')) {
exit('Login Failed');
}
إذا كنت تفعل echo $ssh->exec('ls -la');
, ، فإنه يجلب قائمة الدليل نقول أننا متصلون بنجاح.
إذا ركضت
2 - echo $ssh->exec('echo "select * from table where company_id=\"15\";" | mysql');
فإنه يطلق:
ستدين:ليس خطأ تي 1045 (28000):تم رفض الوصول للمستخدم 'المستخدم' @ 'المضيف المحلي' (باستخدام كلمة المرور:لا)
3-إذا فعلت echo $ssh->exec('ssh -f -L 3307:localhost:3306 root@xx.xxx.xxx.xxx sleep 60 >> logfile');
يتم تشغيله إلى الأبد مما يؤدي إلى عدم وجود خطأ في الاستجابة من الخادم.
أنا أسحب شعري.النجدة!!!!!
المحلول
ربما جرب هذا?:
echo $ssh->exec('echo "select * from table where company_id=\"15\";" | mysql -u username -password=password database');
كما هو على الأرجح في انتظار إدخال كلمة مرور.