一 用PHP提供的专门函数,简单执行命令
原型:
string system (string command [, int return_var]);string exec(string command [, array $output [, int $return_var]]);
void passthru (string command [, int return_var]);
不同点:
system() 输出并返回最后一行shell结果。exec() 不输出结果,返回最后一行shell结果,所有结果可以保存到一个返回的数组里面。
passthru() 只调用命令,把命令的运行结果原样地直接输出到标准输出设备上。
相同点:
都可以获得命令执行的状态码前提条件:
由于PHP基本是用于WEB程序开发的,所以安全性成了人们考虑的一个重要方面。于是PHP的设计者们给PHP加了一个门:安全模式。如果运行在安全模式下,那么PHP脚本中将受到如下四个方面的限制:1) 执行外部命令
2) 在打开文件时有些限制
3) 连接MySQL数据库
4) 基于HTTP的认证
在 安全模式下,只有在特定目录中的外部程序才可以被执行,对其它程序的调用将被拒绝。这个目录可以在php.ini文件中用 safe_mode_exec_dir指令,或在编译PHP是加上--with-exec-dir选项来指定,默认是 /usr/local/php/bin。
在/etc/php.ini文件中
把safe_mode_exec_dir=
改为
safe_mode_exec_dir =