سؤال

أريد الاتصال بخادم الخلية عن بعد من خلال ميناء الشحن.لسوء الحظ ، ليس لدى مزود الاستضافة الخاص بي 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');

كما هو على الأرجح في انتظار إدخال كلمة مرور.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top