PHP代码如下:
<?php
$v = system('netstat -tnlp',$shell_return);
var_dump($shell_return);
var_dump($v);
执行结果:
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1/systemd
tcp 0 0 192.168.122.1:53 0.0.0.0:* LISTEN 7311/dnsmasq
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 6987/sshd
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 6978/cupsd
tcp 0 0 127.0.0.1:6011 0.0.0.0:* LISTEN 16181/sshd: myLinux@pts
tcp6 0 0 :::3306 :::* LISTEN 7361/mysqld
tcp6 0 0 :::111 :::* LISTEN 1/systemd
tcp6 0 0 :::8080 :::* LISTEN 7689/httpd
tcp6 0 0 :::80 :::* LISTEN 7689/httpd
tcp6 0 0 :::22 :::* LISTEN 6987/sshd
tcp6 0 0 ::1:631 :::* LISTEN 6978/cupsd
tcp6 0 0 ::1:6011 :::* LISTEN 16181/sshd: myLinux@pts
tcp6 0 0 :::8000 :::* LISTEN 7689/httpd
int(0)
string(90) "tcp6 0 0 :::8000 :::* LISTEN 7689/httpd"
结论如下:
system($shell, $shell_return):
- $shell: 是shell命令, 如'netstat -tnlp'
- $shell_return: shell命令执行的返回结果,命令执行成功返回0, 否则不为0
- 该函数执行后,直接在终端窗口打印命令执行的结果
- 函数的返回值是命令的执行结果的最后一行