广告
返回顶部
首页 > 资讯 > 操作系统 >怎么在PHP中运行Linux命令
  • 439
分享到

怎么在PHP中运行Linux命令

2023-06-28 12:06:54 439人浏览 八月长安
摘要

这篇文章的内容主要围绕怎么在PHP中运行linux命令进行讲述,文章内容清晰易懂,条理清晰,非常适合新手学习,值得大家去阅读。感兴趣的朋友可以跟随小编一起阅读吧。希望大家通过这篇文章有所收获!在开发过程中有时会需要在php函数中运行Linu

这篇文章的内容主要围绕怎么在PHP中运行linux命令进行讲述,文章内容清晰易懂,条理清晰,非常适合新手学习,值得大家去阅读。感兴趣的朋友可以跟随小编一起阅读吧。希望大家通过这篇文章有所收获!

开发过程中有时会需要在php函数中运行Linux系统命令,所以如何在PHP中运行Linux命令?

我们先从shell_exec来说

如何使用shell_exec在php里面执行shell命令

先来试一下,使用php执行某个shell命令,该命令是mkdir testdir。

 <?php   $cmd = 'mkdir testdir'; shell_exec($cmd);

在这个php脚本执行之前,目录里面是这样子的:

怎么在PHP中运行Linux命令

执行之后,目录里面是如下图所示,多了一个testdir文件夹,这是通过我们刚刚在php脚本里面执行shell命令生成的

怎么在PHP中运行Linux命令

shell命令执行失败会如何?  

假如说执行shell命令的时候出错了,后面的php代码还能运行吗?看下面这个例子,我要执行的命令是读取并运行test.sh这个文件里面的内容,但是这个文件实际是不存在的。

 <?php   $cmd = 'source test.sh';  shell_exec($cmd);  print_r("---the end---\n");

它的打印结果是:

sh: line 0: source: test.sh: file not found &mdash;the end&mdash;

可以从打印结果看到,即使运行某个shell命令的时候会出错,不会影响下面的php代码的执行。所以,如果shell命令执行失败了,我们也没办法用php的try-catch是捕获不到shell命令的错误。

就比如下面的代码,实际上catch不到shell命令的错误

 getMessage(); }

它的打印结果是:

sh: line 0: source: test.sh: file not found &mdash;the end&mdash;

获取shell_exec的输出

看一下官方文档里面提过的shell_exec

怎么在PHP中运行Linux命令

我们在第一个例子里面试一下

 <?php   $cmd = 'mkdir testdir'; $ret = shell_exec($cmd); var_dump($ret);

打印出来的结果是

NULL

所以,我想,上面这个应该是命令没有任何输出,换一个有输出的命令,如下面代码;

 <?php   $cmd = 'echo $SHELL'; $ret = shell_exec($cmd); var_dump($ret);

它的打印结果是:

string(10) “/bin/bash “

所以,如果想要用php执行shell命令,并且知道到底执行成功还是失败,那么可以在这个shell命令的后面加上2>&1,把错误输出到标准输出。这样就可以判断是执行失败还是执行成功。示例如下:

 <?php   $cmd = 'source test.sh 2>&1';  $ret = shell_exec($cmd); if (empty(ret)) { print_r("---success---\n"); } else { print_r("---failed---\n"); }  print_r("---the end---\n");

当然,官方手册里面除了有shell_exec,还有其他的,比如说exec。

下面就来说说exec

exec方法的参数是这样的,是一个数组,return_var是一个int型的值。$return_var是0的时候表示命令执行成功。

 <?php   $cmd = 'ls -l /home'; exec($cmd, $result, $var); var_dump($result); var_dump($var);xxxxxxxxxx6 1<?php23$cmd = 'ls -l /home';4exec($cmd, $result, $var);5var_dump($result);6var_dump($var);string ``exec` `( string ``$command` `[, ``array` `&``$output` `[, int &``$return_var` `]] )

看下面的示例代码:

 <?php   $cmd = 'ls -l /home'; exec($cmd, $result, $var); var_dump($result); var_dump($var);

打印结果如下:

怎么在PHP中运行Linux命令

再看一下system

这是system的函数说明,$return_var是0的时候表示命令执行成功。system函数的返回是命令的输出的最后一行的内容

 string system ( string $command [, int &$return_var ] )

看下面的示例代码:

 <?php   $cmd = 'mkdir testsystem';;  $lastline = system($cmd, $var); var_dump($lastline); var_dump($var);

打印结果为:

string(0) “” int(0)

php有什么特点

1、执行速度快。2、具有很好的开放性和可扩展性。3、PHP支持多种主流与非主流的数据库。4、面向对象编程:PHP提供了类和对象。5、版本更新速度快。6、具有丰富的功能。7、可伸缩性。8、功能全面,包括图形处理、编码与解码、压缩文件处理、xml解析等。

感谢你的阅读,相信你对“怎么在PHP中运行Linux命令”这一问题有一定的了解,快去动手实践吧,如果想了解更多相关知识点,可以关注编程网网站!小编会继续为大家带来更好的文章!

--结束END--

本文标题: 怎么在PHP中运行Linux命令

本文链接: https://www.lsjlt.com/news/319664.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 怎么在PHP中运行Linux命令
    这篇文章的内容主要围绕怎么在PHP中运行Linux命令进行讲述,文章内容清晰易懂,条理清晰,非常适合新手学习,值得大家去阅读。感兴趣的朋友可以跟随小编一起阅读吧。希望大家通过这篇文章有所收获!在开发过程中有时会需要在PHP函数中运行Linu...
    99+
    2023-06-28
  • 怎么在Windows中运行Linux bash命令
    这篇文章主要讲解了“怎么在Windows中运行Linux bash命令”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么在Windows中运行Linux bash命令”吧!在 Windows...
    99+
    2023-06-05
  • 如何在 Linux 命令行中运行 Python 脚本?
    Python 是一种高级编程语言,被广泛应用于数据科学、机器学习、Web 开发等领域。在 Linux 操作系统中,Python 是一个默认安装的解释器,用户可以通过命令行界面(CLI)来运行 Pyth...
    99+
    2023-09-02
    python linux 开发语言
  • linux nohup命令运行后怎么关闭
    在Linux中使用nohup命令运行程序时,程序会在后台运行,并且不会受到终端关闭的影响。要关闭nohup命令运行的程序,可以通过以...
    99+
    2023-10-08
    linux
  • linux怎么在批处理模式下运行top命令
    这篇文章主要介绍linux怎么在批处理模式下运行top命令,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!什么是 top 命令的批处理模式批处理模式允许你将 top 命令的输出发送至其他程序或者文件中。在这个模式中,t...
    99+
    2023-06-16
  • 在后台运行Linux命令的方法
    通常情况下,当你在终端运行一个命令,在你开始输入另外一个命令之前,你必须等待当前命令运行结束。这被称为在前台运行命令,或者前台进程。当一个进程在前台运行时,它占用了你的 shell,并且你可以通过输入设备和它进行交互...
    99+
    2022-06-03
    Linux 命令 后台运行Linux 命令
  • Linux下怎么用命令运行.sh文件
    这篇文章主要介绍“Linux下怎么用命令运行.sh文件”,在日常操作中,相信很多人在Linux下怎么用命令运行.sh文件问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux下怎么用命令运行.sh文件”的疑...
    99+
    2023-06-12
  • 怎么在linux命令行中修改IP
    怎么在linux命令行中修改IP?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。方式一:ifconfig eth0 192.168.1.18 netmask 255.255....
    99+
    2023-06-13
  • 怎么通过SSH在远程Linux系统上运行命令
    这篇文章给大家分享的是有关怎么通过SSH在远程Linux系统上运行命令的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。通用语法如下所示:$ ssh [用户名]@[远程主机名或 IP]&...
    99+
    2023-06-16
  • Linux系统如何使用命令运行PHP
    小编给大家分享一下Linux系统如何使用命令运行PHP,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!在命令行上执行php所需的设置首先在Linux系统中安装PHP,如果没有安装的小伙伴可以参考Linux系统安装php教程,...
    99+
    2023-06-28
  • 如何在Linux中的特定时间运行命令
    有一天,我使用 rsync 将大文件传输到局域网上的另一个系统。由于它是非常大的文件,大约需要 20 分钟才能完成。我不想再等了,我也不想按 CTRL+C 来终止这个过程。我只是想知道在 linux 操作系统中...
    99+
    2022-06-04
    linux 命令 linux 特定时间运行命令
  • 在win和Linux系统中python命令行运行的不同
    今天,在完成一个小的python习题,习题的主要内容是读取一个帮助模块,并保存到本地文件。 知道是用pydoc进行模块的读取,但是在windows系统下,调用os模块之后,结果总是为空。 核心语句: h...
    99+
    2022-06-04
    命令行 系统 win
  • 在Linux中怎么设置运行特定命令而无需sudo密码
    本篇内容主要讲解“在Linux中怎么设置运行特定命令而无需sudo密码”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“在Linux中怎么设置运行特定命令而无需sudo密码”吧!我有一台部署在 AW...
    99+
    2023-06-16
  • php无法运行外部命令怎么办
    本教程操作环境:windows7系统、PHP8.1版、Dell G3电脑。php无法运行外部命令怎么办?问题描述:我用准备用PHP来运行adb.exe来连接android手机,并与之通讯,但是使用exec("adb connect...
    99+
    2022-10-25
  • python怎么运行cmd命令
    本篇内容介绍了“python怎么运行cmd命令”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1、使用os.system()方法os.syst...
    99+
    2023-06-27
  • 怎么在dos命令行中执行cd命令
    今天就跟大家聊聊有关怎么在dos命令行中执行cd命令,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。显示当前目录名或改变当前目录。 CHDIR [/D] [drive:][path] ...
    99+
    2023-06-08
  • 怎么在dos命令行中执行for命令
    这期内容当中小编将会给大家带来有关怎么在dos命令行中执行for命令,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。for帮助文档对一组文件中的每一个文件执行某个特定命令。 FOR %variable IN...
    99+
    2023-06-08
  • 在宝塔服务器上运行php命令行
    打开宝塔,进入软件管理,搜索堡塔应用管理器 开始安装。  安装完成后点击设置,在设置中点击添加应用。 1 输入应用名称 一般要执行的功能 2 当前php项目的运行环境  PHP7.4 或者PHP7.3 3 选择项目根目录下的think ...
    99+
    2023-08-31
    php 开发语言
  • Linux中运行python文件的命令是什么
    今天小编给大家分享一下Linux中运行python文件的命令是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。1、 通过r...
    99+
    2023-06-28
  • linux运行文件的命令是什么
    这篇“linux运行文件的命令是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“linu...
    99+
    2023-01-30
    linux
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作