导航:首页 > 编程语言 > php显示shell

php显示shell

发布时间:2023-09-25 22:33:12

A. 如何让php执行shell

php给我们提供了system(),exec(),passthru()这三个函数来调用外部的命令.
虽然这三个命令都能执行linux系统的shell命令,但是其实他们是有区别的:
system() 输出并返回最后一行shell结果。
exec() 不输出结果,返回最后一行shell结果,所有结果可以保存到一个返回的数组里面。
passthru() 只调用命令,把命令的运行结果原样地直接输出到标准输出设备上。
相同点:都可以获得命令执行的状态码

例子:system("/usr/local/bin/webalizer/webalizer");

B. 问一下,安装php扩展,php-shell的具体是怎么实现php连接远程主机并操作了谢谢

一楼真是天真,直接复制粘贴我的原提问答案,都说了,那不是我使用的方法。
我亲自来回答你吧~
过程略有些繁琐,涉及安装到许多东西。但装好了可以自由使用远程连接。
安装部分:
检查:
1 vi /etc/ssh/sshd_config
PasswordAuthentication yes //保证这行内容是yes
2 关闭selinux

安装
1 yum -y install php-devel
2编译安装libssh2-1.2.8.tar.gz.gz ,教程网上找,直接解压编译即可
3yum -y install php-pear
4 pecl install -f ssh2
5 vi /etc/php.ini
添加一行:extension=ssh2.so
6重启apache
安装的详细部分,可以网上度娘或谷姐

实现部分,其实是,安装了这个扩展就可以使用Php远程连接的自有函数了,举个例子你就明白
logtest.php:
<?php
$connection = ssh2_connect("192.168.1.77",22);
if (ssh2_auth_password($connection,"root","000000")) {
echo "Authentication Successful!\n";
} else {
die('Authentication Failed...');
}
?>
ssh2_connect函数写入目的主机的ip和端口,ssh2_auth_password输入主机用户名和密码

下面是使用举例:
<?php
if($ssh = ssh2_connect('192.168.1.77', 22)) {
if(ssh2_auth_password($ssh, 'root', '000000')) {
$stream = ssh2_exec($ssh, 'df -h | cut -c 40-42');
stream_set_blocking($stream, true);
$data = '';
while($buffer = fread($stream, 4096)) {
$data .= $buffer;
}
fclose($stream);
echo $data; // 返回的信息
}
}
?>
以上函数,向目的主机发送shell命令:df -h | cut -c 40-42
返回了需要的信息。

希望能帮到你

C. 如何将PHP作为Shell脚本语言使用

我们都知道,PHP是一种非常好的动态网页开发语言(速度飞快,开发周期短……)。但是只有很少数的人意识到PHP也可以很好的作为编写Shell脚本的语言,当PHP作为编写Shell脚本的语言时,他并没有Perl或者Bash那么强大,但是他却有着很好的优势,特别是对于我这种熟悉PHP但是不怎么熟悉Perl的人。
要使用PHP作为Shell脚本语言,你必须将PHP作为二进制的CGI编译,而不是Apache模式;编译成为二进制CGI模式运行的PHP有一些安全性的问题,关于解决的方法可以参见PHP手册(http://www.php.net)。
一开始你可能会对于编写Shell脚本感到不适应,但是会慢慢好起来的:将PHP作为一般的动态网页编写语言和作为Shell脚本语言的唯一不同就在于一个Shell脚本需要在第一行生命解释本脚本的程序路径:
#!/usr/local/bin/php -q
我们在PHP执行文件后面加入了参数“-1”,这样子PHP就不会输出HTTP Header(如果仍需要作为Web的动态网页,那么你需要自己使用header函数输出HTTP Header)。当然,在Shell脚本的里面你还是需要使用PHP的开始和结束标记:

现在让我们看一个例子,以便于更好的了解用PHP作为Shell脚本语言的使用:
#!/usr/local/bin/php -q
print("Hello, world!\n");
?>
上面这个程序会简单的输出“Hello, world!”到显示器上。
一、传递Shell脚本运行参数给PHP:
作为一个Shell脚本,经常会在运行程序时候加入一些参数,PHP作为Shell脚本时有一个内嵌的数组“$argv”,使用“$argv”数组可以很方便的读取Shell脚本运行时候的参数(“$argv[1]”对应的是第一个参数,“$argv[2]”对应的是第二个参数,依此类推)。比如下面这个程序:
#!/usr/local/bin/php -q
$first_name = $argv[1];
$last_name = $argv[2];
printf("Hello, %s %s! How are you today?\n", $first_name, $last_name);
?> 具体详细的你可以向我一样在后盾人多看看就明白了,希望能帮到你,努力(๑>؂<๑)

D. php 无法执行shell脚本最有效的方法

要确定的燃此是,不是脚本本身的问题,文件目录权限之类的都好了的

1、首先看你的nginx用户叫啥名字  lsof -i:80

2、执行敬磨visudo命令

3、给www用户添加root权限并且不需要皮稿迅密码

这样就可以访问了,这个只是解决无权限访问的问题,必须加sudo。

阅读全文

与php显示shell相关的资料

热点内容
夜蒲聚会app是什么软件 浏览:641
任天堂如何区分服务器 浏览:818
云服务器的运用前景 浏览:547
解压视频素材哪里有 浏览:255
小米5android7 浏览:842
极品飞车10修改直接解压 浏览:640
简易算法怎么用 浏览:497
压缩比101用什么油 浏览:562
买白银下什么APP 浏览:842
服务器操作台如何操作 浏览:245
可编程安全继电器 浏览:989
兔牙喵喵喵解压文件密码 浏览:277
磁盘新建文件夹未响应 浏览:997
有什么录音app带混响 浏览:941
英语精读pdf 浏览:207
戒烟之后排解压力 浏览:908
视频网站如何选服务器 浏览:257
单片机中ramrom是什么颜色 浏览:40
dev编译完不显示控制台窗口 浏览:595
程序员自学有希望吗 浏览:528