2016-03-20 14 views
-1

私はechoにLinux(Centos 6.3)で定義されている変数を試しています。 サーバーにアクセスするために私はphpseclib 2.0を使用します。PHPシェルアクセスでlinux変数を出力する

パテ(または類似)を使用してアクセスする場合、vfrepc86ユーザーで、私は次の出力取得しています:私は使用して、PHP(同じユーザーvfrepc86と接続)と同じことを実行してみてくださいとき

[email protected]!:vfrepc86> echo $USER 
vfrepc86 
[email protected]!:vfrepc86> pwd 
/vfuser1/vfr/abp/vfrepc86 
[email protected]!:vfrepc86> echo $WL_HOME 
/opt/weblogic1211_new/wlserver_12.1 

を次のコード:

<?php 

set_include_path(get_include_path() . PATH_SEPARATOR . 'phpseclib'); 
include('phpseclib/Net/SSH2.php'); 

$ssh = new Net_SSH2('illin935'); 
if (!$ssh->login('vfrepc86', '******')) { 
    exit('Login Failed'); 
} 

echo "---User:---"; 
echo "<br>"; 
    echo $ssh->exec('echo $USER'); 
echo "<br><br>"; 
echo "---Location of run:---"; 
echo "<br>"; 
    echo $ssh->exec('pwd'); 
echo "<br><br>"; 
echo "---Default:---"; 
echo "<br>"; 
    echo $ssh->exec('echo $WL_HOME'); //my first try, returns nothing 
echo "<br><br>"; 
echo "---Using su:---"; 
echo "<br>"; 
    echo $ssh->exec('su - vfrepc86 -c \'echo $PATH\''); //tried with su 
echo "<br><br>"; 
echo "---Writing to file:---"; 
echo "<br>"; 
    echo $ssh->exec('echo $WL_HOME >> temp.txt'); //tried writing to file 

?> 

私は、次を得る:

---User:--- 
vfrepc86 

---Location of run:--- 
/vfuser1/vfr/abp/vfrepc86 

---Default:--- 


---Using su:--- 
standard in must be a tty 

---Writing to file:--- 

私は$WL_HOMEを取得できないことがわかります。スクリプトは同じパスから実行されていますが、上記のように、私もsuを使ってみましたが、それはstandard in must be a ttyを返します。コマンドがファイルに出力されると、ファイルが空になってしまいます。

+0

よく投票しても問題ありませんが、少なくともコメントは書かれてからほぼ1年後に投票されました。私はそれがよく書かれ、フォーマットされた質問だと思う。ダウン投票が私と他のユーザーの将来の学習のために無意味でない限り、ダウン投票者からのコメントが期待されます。 –

答えて

0

NET_SSH2は対話型シェルを要求しないため、.profileは実行されません。そのため、$WM_HOMEは定義されていません。

phpseclibの代わりに、PECL ssh2拡張子を使用します。これには、対話シェルを要求する関数ssh2_shellがあります。

+0

その変数はどこに設定されていますか? 'NET_SSH2'はインタラクティブなログインシェルを作成しないので、あなたのプロフィールスクリプトは実行されません。 – Barmar

+0

'.profile':' export WL_HOME =/opt/weblogic1211_new/wlserver_12.1' –

+0

'.profile'は対話型ログインシェルに対してのみ実行されます。 SSH2はログインシェルを作成していません。 – Barmar

関連する問題