- 论坛徽章:
- 0
|
perl脚本如下:- #!/usr/bin/perl -w
- use Net::SSH::Perl;
- my $user = 'root';
- my $pass = "123456";
- my $host = "1.1.1.5";
- my $cmd = "ls";
- my %params = (
- port => "22",
- );
- my $ssh = Net::SSH::Perl->new($host, %params);
- $ssh->login($user, $pass);
- my($stdout, $stderr, $exit) = $ssh->cmd($cmd);
- print "$stdout";
复制代码 这个脚本我手动执行是没有问题的.
但是我的想写一个php页面来调用这个脚本.
我的方式是用pecl
php代码如下:- <?php
- $perl = new Perl();
- $perl->require('exec/restart-vsftpd.pl');
- ?>
复制代码 在命令行执行:
manager]# php -e manager.php
PHP Fatal error: Uncaught exception 'PerlException' with message '[perl] require error: an attempt to getarg from a stale io handle at /usr/lib/perl5/site_perl/5.8.8/Net/SSH/Perl/SSH2.pm line 27.
Compilation failed in require at (eval 1) line 1.
' in /var/www/html/manager/manager.php:5
Stack trace:
#0 /var/www/html/manager/manager.php(5): Perl->require('exec/restart-vs...')
#1 {main}
thrown in /var/www/html/manager/manager.php on line 5
在页面执行:apache 的error日志内容如下:
[Sat Nov 20 00:57:08 2010] [error] [client 192.168.18.234] PHP Fatal error: Uncaught exception 'PerlException' with message '[perl] require error: an attempt to getarg from a stale io handle at /usr/lib/perl5/site_perl/5.8.8/Net/SSH/Perl/SSH2.pm line 27.\nCompilation failed in require at (eval 1) line 1.\n' in /var/www/html/manager/manager.php:5\nStack trace:\n#0 /var/www/html/manager/manager.php(5): Perl->require('exec/restart-vs...')\n#1 {main}\n thrown in /var/www/html/manager/manager.php on line 5
不知道哪位大侠可以帮我分析下.指点指点. |
|