php执行linux
⑴ php调用linux可执行文件
PHP调用可执行程序的语法例子:
system("ls /usr");
使用system调用,结果直接显示才网页上,参数通过字符串传递
调用注意:
PHP的进程要对可执行程序有相关的权限。
⑵ 如何用php运行linux命令,并获取返回信息
你想源问得是php如何执行shell命令把?
可以用system(),exec(),passthru()这三个函数实现
虽然这三个命令都能执行linux系统的shell命令,但是其实他们是有区别的:
system() 输出并返回最后一行shell结果。
exec() 不输出结果,返回最后一行shell结果,所有结果可以保存到一个返回的数组里面。
passthru() 只调用命令,把命令的运行结果原样地直接输出到标准输出设备上。
相同点:都可以获得命令执行的状态码
例子:system("ls -al");
【使用之前要在php.ini中把safe_mode关闭】
⑶ php上如何运行linux命令
你想问得是php如何执抄行shell命令把?
可以用system(),exec(),passthru()这三个函数实现
虽然这三个命令都能执行linux系统的shell命令,但是其实他们是有区别的:
system() 输出并返回最后一行shell结果。
exec() 不输出结果,返回最后一行shell结果,所有结果可以保存到一个返回的数组里面。
passthru() 只调用命令,把命令的运行结果原样地直接输出到标准输出设备上。
相同点:都可以获得命令执行的状态码
例子:system("ls -al");
【使用之前要在php.ini中把safe_mode关闭】
⑷ PHP怎么调用Linux命令终端
首先先要给大家介绍PHP执行linux系统命令的几个基本函数。
system函数
说明:执行外部程序并显示输出资料。
语法:string system(string command, int [return_var]);
返回值: 字符串
详细介绍:
本函数就像是 C 语中的函数 system(),用来执行指令,并输出结果。若是 return_var 参数存在,则执行 command 之后的状态会填入 return_var 中。同样值得注意的是若需要处理用户输入的资料,而又要防止用户耍花招破解系统,则可以使用 EscapeShellCmd()。若 PHP 以模块式的执行,本函数会在每一行输出后自动更新 Web 服务器的输出缓冲暂存区。若需要完整的返回字符串,且不想经过不必要的其它中间的输出界面,可以使用 PassThru()。
实例代码:
< ?php
$last_line = system('ls', $retval);
echo 'Last line of the output: ' . $last_line;
echo '<hr/>Return value: ' . $retval;
?>
exec函数
说明:执行外部程序。
语法:string exec(string command, string [array], int [return_var]);
返回值: 字符串
详细介绍:
本函数执行输入 command 的外部程序或外部指令。它的返回字符串只是外部程序执行后返回的最后一行;若需要完整的返回字符串,可以使用 PassThru() 这个函数。
要是参数 array 存在,command 会将 array 加到参数中执行,若不欲 array 被处理,可以在执行 exec() 之前呼叫 unset()。若是 return_var 跟 array 二个参数都存在,则执行 command 之后的状态会填入 return_var 中。
值得注意的是若需要处理使用者输入的资料,而又要防止使用者耍花招破解系统,则可以使用 EscapeShellCmd()。
实例代码:
< ?php
echo exec('whoami');
?>
popen函数
说明:打开文件。
语法:int popen(string command, string mode);
返回值: 整数
详细介绍:
本函数执行指令开档,而该文件是用管道方式处理的文件。用本函数打开的文件只能是单向的 (只能读或只能写),而且一定要用 pclose() 关闭。在文件操作上可使用 fgets()、fgetss() 与 fputs()。若是开档发生错误,返回 false 值。
实例代码:
< ?
$fp = popen( "/bin/ls", "r" );
?>
通过上述函数,PHP可以执行linux系统的shell命令。
⑸ 如何用php作Linux自动执行脚本
嵌入式
linux
如何以root身份自动登录
并开机自动执行脚本文件
下面操作步骤记录如下:
要设置自启动程序需要解决两个问题:1、系统自动登录;2、自动执行脚本,
1)系统自动登录
(1)修改/etc/inittab
在inittab中,有如下配置
1:2345:respawn:/sbin/agetty
tty1
9600
2:2345:respawn:/sbin/agetty
tty2
9600
3:2345:respawn:/sbin/agetty
tty3
9600
4:2345:respawn:/sbin/agetty
tty4
9600
5:2345:respawn:/sbin/agetty
tty5
9600
6:2345:respawn:/sbin/agetty
tty6
9600
表示系统可以有六个控制台,可以用alt+(f1~f6)来切换。而/sbin/agetty就是一个登陆验证程序,执行它,会提示用户输入用户名和密码,然后启动一个指定的shell(在passwd文件中指定的)。
所以,我们只需将其修改为不执行agettty,而是执行自己编写的一个脚本,就可以跳过用户名和密码的输入。修改如下:
1:2345:respawn:/root/logintest
tty1
9600
这里我在/root/下放了一个测试脚本,这样系统启动时就会执行那个脚本,脚本内容:
#!/bin/sh
/bin/login
-f
root
脚本其实就是执行了一个root用户的登陆而已。
2)自动执行程序
方法有两种,一种是将要执行的代码放到1)中的/root/logintest的后面;
另一种是将要执行的代码放到/etc/profile文件的后面即可。
⑹ 如何通过PHP执行linux命令
你想问得是php如何执行shell命令把?
可以用system(),exec(),passthru()这三个函数实现
虽然这三个命令都能执行linux系统内的shell命令,但是其实他容们是有区别的:
system() 输出并返回最后一行shell结果。
exec() 不输出结果,返回最后一行shell结果,所有结果可以保存到一个返回的数组里面。
passthru() 只调用命令,把命令的运行结果原样地直接输出到标准输出设备上。
相同点:都可以获得命令执行的状态码
例子:system("ls -al");
【使用之前要在php.ini中把safe_mode关闭】
⑺ php如何执行linux的curl指令
(1)可以使用system("curl",$return);
注: 如果用本函数启动一个程序并希望保持在后台运行,必须确保该程序的输出被重定向到一个文件或者其它输出流去,否则 PHP 会在程序执行结束前挂起。
(2)
或exec("curl",$return);
以上具体请查阅手册.
(3)其实php5内置了对curl的支持,编译curl扩展库,修改php.ini即可.详见参考资料.
⑻ 如何让PHP有权限执行Linux下的命令
最近帮一个朋友搞个东西,但是用的是比较笨的方法,代码如下--------主要是让PHP获取更大的权限去执行LINUX命令,有权限去重启nginx服务或者重启Apache服务。
<?php
// 作用取得客户端的ip、地理信息、浏览器、本地真实IP
//此文档编码类型:utf-8
//程序使用:
//include("XXX.php") //引入类
// $gifo = new get_gust_info();//实例化
// $gifo->GetBrowser(); //获得访客浏览器类型
// $gifo->GetLang(); //获得访客浏览器语言
// $gifo->GetOs(); //获取访客操作系统
// $gifo->Getip(); //获得访客真实ip
// $gifo->get_onlineip(); //获得本地真实IP
// $gifo->Getaddress($ip); //参数 $ip 是可选的,默认返回一个二维数组包含当前访客所在地的相关信息
//
⑼ php如何实现随意执行linux命令(任意读写,删除等)
显然,你要抄靠php操作其范围外的文袭件或目录是不可能的,这是因为php的运行身份是apache,因此没办法操作root权限的文件或目录。 我们采取的办法是,用VC写个服务,该服务的运行身份是root,也就是给其最大权限,php调用该服务做操作。
当然还有另外的办法,这是我的猜测,你不妨试看看,
1、把php的运行用户改为root,这样可能会存在一定的风险。
2、在apache里面指定可以对某个root权限的文件或目录做操作,该办法没试验过。如果你能试验成功的话,希望反馈一下哦。