php如何执行linux命令

1 简介

php脚本在Linux系统上是可以置顶linux命令的,虽说不是一种很常见的操作,但运行的好也可实现很多的功能的。下面73so博客就给大家说一说php脚本中几种执行linux命令的方法。  

2 语法

(1) php exec() 函数:

# exec()函数是PHP中执行系统命令的一种常用方法。它可以执行一个命令,并将结果输出到一个数组中
$output = array();
exec('ls -l', $output); //输出的结果会传递给$output变量
print_r($output);

(2) php shell_exec() 函数

# shell_exec() 函数也是PHP中执行Linux命令的一种方法。
# 它可以执行一个命令,但与exec()函数不同是,它会并将结果输出为一个字符串。

$output = shell_exec('ls -l');
echo $output;

(3) php system() 函数

# system() 函数也可以执行Linux命令,并将结果以标准的格式输出。

system('ls -l');

(4) php passthru() 函数

# passthru() 函数可以执行一个linux命令,并将结果直接输出到浏览器.

passthru('ls -l');


注意:需要注意的是,为了保证服务器的安全,在新安装的php环境中上面列出的几个函数有可能会被默认禁用,如果需要开启,则需要修改PHP的php.ini文件


相关推荐

  • 生成图片

    from PIL import Image, ImageColor, ImageDraw, ImageFont, ImageFilterdef create_image_with_text(size, color, text, font_path, font_size, text_color, shadow_color, output_path): """ Create a new image of specified size and color with centered text that has a border and shadow. :param size: A tuple con

  • 获取指定目录下的所有图片信息

    1 获取指定目录下的所有图片信息// 获取指定目录下的所有图片信息 public function getImagesInfo($directory) { $images = []; // 创建递归目录迭代器 $iterator = new \RecursiveIteratorIterator( new \RecursiveDirectoryIterator($directory, \RecursiveDirectoryIterator::SKIP_DOTS), \RecursiveIteratorIterator::LEAVES_ONLY ); // 遍历目录中的每个文件 foreach (

  • Thinkphp各版本的PHP要求

    ThinkPHP 8.0:运行环境要求PHP8.0+,兼容PHP8.3ThinkPHP 6.1:运行环境要求PHP7.2+,兼容PHP8.1ThinkPHP 6.0:运行环境要求PHP7.2+,兼容PHP8.1ThinkPHP 5.1:运行环境要求PHP5.6+,兼容PHP8.0ThinkPHP 5.0:运行环境要求PHP5.4+,兼容PHP7.3