php执行linux命令_linux 命令可以运行,单用php exec 执行不了 - CSDN
精华内容
参与话题
  • 使用php执行linux命令

    千次阅读 2019-06-14 13:03:03
    程序执行函数 escapeshellarg— 把字符串转码为可以在 shell 命令里使用的参数 escapeshellcmd— shell 元字符转义 exec— 执行一个外部程序 passthru— 执行外部程序并且显示原始输出 proc_close— 关闭由 ...

    程序执行函数

    • escapeshellarg — 把字符串转码为可以在 shell 命令里使用的参数
    • escapeshellcmd — shell 元字符转义
    • exec — 执行一个外部程序
    • passthru — 执行外部程序并且显示原始输出
    • proc_close — 关闭由 proc_open 打开的进程并且返回进程退出码
    • proc_get_status — 获取由 proc_open 函数打开的进程的信息
    • proc_nice — 修改当前进程的优先级
    • proc_open — 执行一个命令,并且打开用来输入/输出的文件指针。
    • proc_terminate — 杀除由 proc_open 打开的进程
    • shell_exec — 通过 shell 环境执行命令,并且将完整的输出以字符串的方式返回。
    • system — 执行外部程序,并且显示输出

    参考:https://www.php.net/manual/zh/ref.exec.php

               https://blog.csdn.net/u013372487/article/details/51912053

               https://blog.csdn.net/xyw_blog/article/details/15652507

    展开全文
  • php执行shell命令,并且知道到底执行成功还是失败,那么可以在这个shell命令的后面加上2>&1,把错误输出到标准输出。这样就可以判断是执行失败还是执行成功。示例如下: <?php $cmd = 'mkdir testdir 2...

    欢迎访问我的网站:http://www.jw4f.top

    1、通过php执行linux命令

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

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

    还可以使用exec或者system来完成linux命令的执行。

    2、解决python:undefined symbol: xml_sethashsaltcip错误

    通过php调用后台的python脚本时,返回错误python:undefined symbol: xml_sethashsaltcip,查了很多资料明确没有针对这一问题的解答。看到有老外的帖子遇到类似的问题通过修改libexpat.so.1文件解决了,于是抱着试试看的态度修改/opt/lampp/lib/libexpat.so.1文件为/opt/lampp/lib/libexpat.so.1-bk,问题得到了解决。

    注意/lib/x86_64-linux-gnu目录下也有一个libexpat.so.1文件,修改这个文件是没有用的。

    3、解决GLIBCXX_3.4.20’ not found“ 错误

    将/opt/lampp/lib中的libstdc++.so.6重命名为libstdc++.so.6-bk.

    mv libstdc++.so.6 libstdc++.so.6-bk
    
    展开全文
  • PHP执行Linux命令的函数详解

    千次阅读 2014-04-19 15:05:18
     PHP提供执行外部程序命令的函数,从而丰富的开发环境,通过查阅相关资料,归纳如下5个函数,示例提供了在 Ubuntu 10.04 虚拟机上调试的结果。
    

    PHP提供了执行Linux命令的函数,从而丰富的开发环境,通过查阅相关资料,归纳如下5个函数,示例提供了在 Ubuntu 10.04 虚拟机上调试的结果。


    1.  system($cmd ) 函数

         $cmd为命令行字符串,命令产生的文本直接进入输出流;如果所执行的命令有输出,则system函数返回输出的最后一行文本!

      例1test.php脚本

     

     执行 php test.php脚本

     

    2.exec($cmd, $output) 函数

      执行命令 $cmd所产生的文本不直接进入输出流,而是将产生的文本以数组的形式返回给第二个参数$output,可以根据个人需要对 $output 进行处理;数组元素由“行”构成。

      2test.php脚本

      

      执行 php test.php

          

         3exec若采用以下模式,具有返回文本最后一行的功能,但是并没有将文本全部输出,这是和system的不同之处;test.php脚本

         

         


    3.   shell_exec($cmd) 函数

       对于 window 上的 .cmd脚本文件 Unix上的 .sh脚本文件要想在php程序里运行,可以用 shell_exec()函数,也可以用反引号运算符 `包裹实现同样的功能,但是一般避免使用,因为可读性不强。安全模式下运行 php不可使用此函数。shell_exec()返回一个字符串,即将程序产生所有文本连接成字符串返回给$output

       4test.php脚本以及输出结果

      

      


    4.passthru() 函数

      具有 exec() system()类似的功能,但无返回值,仅输出原始文本。对于二进制文件,如数字图像,将直接输送到浏览器,一般后台脚本开发很少用到其二进制文件的功能。

      5test.php 及输出结果

         

          


    5.   popen($cmd, $mode) 函数

       打开一个指向进程的管道,该进程是由cmd命令执行而产生,返回为文件指针,是单项的,只能用于读或者写;用pclose()关闭,指针可用于 fread(),fgets(),fwrite() 等,出错返回false

       

       


    参考1http://chipmunkninja.com/Program-Execution-in-PHP%3A-exec-m@

    参考2http://cn.php.net/manual/zh/index.php


    展开全文
  • PHP执行linux系统命令

    2009-06-06 14:49:00
    第二篇《PHP监控linux服务器负载》:http://www.ccvita.com/390.html首先先要给大家介绍PHP执行linux系统命令的几个基本函数。我曾经很长一段时间都分不清下面几个函数的具体用法区别。system函数说明:执行

    本文是第一篇,讲述如何在PHP中执行系统命令从而实现一些特殊的目的,比如监控服务器负载,重启MySQL、更新SVN、重启Apache等。第二篇《PHP监控linux服务器负载 》:http://www.ccvita.com/390.html

    首先先要给大家介绍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命令

    千次阅读 2018-01-11 22:14:02
    开发中遇到一种问题,需要在php函数中运行Linux系统代码,以下推荐2种方法,exec()函数和system()函数 一、exec可以把执行的结果全部返回到output函数里(数组),output函数里(数组),status是执行的状态 0为成功 1为...
  • linux 让程序在后台执行

    万次阅读 2018-07-13 10:18:30
    1. 执行命令后加 &amp; 符号,缺点客户端关了,也会停止执行 后台执行php cli.php admin/index &amp; 显示到前台用命令:fg 又让在后台执行命令:Ctrl+z2. nohup 命令 &amp; , 客户端关了,...
  • linux下如何执行PHP脚本

    千次阅读 2018-04-27 09:19:24
    linux下如何执行PHP脚本在 Linux 下执行 php 脚本时通常是可以使用以下命令:1 #/usr/local/php/bin/php test.php 为简化输入可把此php执行程序 copy到系统命令目录下:1 #cp /usr/local/php/bin/php /usr/sbin/...
  • 并且在Xshell(ssh连接)终端关闭之后,仍然执行,并且在后台运行(&amp;);通俗讲:关闭终端,命令依然执行。详解:nohup :因为我们采用终端连接的方法,在关闭终端的时候,ssh通信关闭,云服务收到通知...
  • Linux下把程序放到后台运行,相关的命令,如下:   1、把程序放后台运行,简单的话,只要在命令后面加一个“&amp;”, 如: php test.php &amp; 2、或者在运行命令后,按一下 Ctrl+Z,如运行 php test....
  • find / -name php 查找php相关位置 vim /etc/profile 编辑环境变量 在最后加入:export PATH="/usr/local/php-5.6.3/bin:$PATH" 使用5.6.3这个版本作为系统默认运行的版本 source /etc/profile...
  • linux用nohup在后台常驻运行php脚本

    万次阅读 2014-04-23 22:48:08
    linux平台上,要在后台运行脚本的话,一般是在命令之后加上&即可。 但是今天tong
  • linux执行命令时报错:permission denied

    万次阅读 2017-10-29 22:05:30
    执行Linux命令式,报错为:permission denied 一、上调权限 这种错误一般来说是权限问题。我们需要提升权限执行即可。 执行命令:上调权限:chmod 777 test.php 二、改为root权限 su root 即可 三、root权限...
  • linux查找文件夹命令

    万次阅读 2019-12-06 11:52:02
    查找命令: 查找根目录下查找文件夹名称叫www.91cnm.com的目录地址find / -name www.91cnm.com -d查找/var/www/目录下叫index.php的文件find /var/www/ -name index.php 查找根目录下所有已”.sh”结尾的文件find ...
  • Linux命令顺序执行连接符(; || && |)

    万次阅读 2016-11-13 21:59:12
    当我们需要一次执行多个命令的时候,命令之间需要用连接符连接,不同的连接符有不同的效果。下面我们总结一下,加以区分。 (1) ;  分号,没有任何逻辑关系的连接符。当多个命令用分号连接时,各命令之间的执行...
  • Linux 执行命令结果输出到文件

    万次阅读 2019-03-05 09:36:46
    3.linux shell中"2&gt;&amp;1"含义 对于&amp; 1 更准确的说应该是文件描述符 1,而1标识标准输出,stdout。 对于2 ,表示标准错误,stderr。 2&gt;&amp;1 的意思就是将标准错误重定向...
  • linux运行php文件

    千次阅读 2019-10-30 12:05:50
    1、打开linux命令行,准备好。 2、找到linux环境下,php执行文件的目录。如图所示。我的目录为/usr/local/server/php/bin ,将这个目录记下。 3、找到要运行php文件所在的目录,随便写点php代码就可以,/usr/...
  • 有时候我们需要执行一系列操作, 每一步需要上一步执行成功后才会执行下一步否则就退出整个脚本, 直接举个栗子: wget https://getcomposer.org/installer || ( echo "failed"; exit ) && php composer-...
  • 如何在linux执行PHP文件

    千次阅读 2018-12-12 16:43:12
    1.刚导入到linux系统中文件是没有可执行权 2.首先赋予文件可执行权限 chmod +x 文件名 例如:chomd +x czrkdjb.php 如果要用./czrkdjb.php执行,需要在czrkdjb.php文件头文件中加#!/usr/bin/php 告诉Linux命令行用 ...
  • linux shell 执行多个命令的方法

    千次阅读 2019-03-10 20:47:50
    (1)在每个命令之间用;(分号)隔开。 (2)在每个命令之间用&amp;&amp;隔开。 &amp;&amp;表示:若前一个命令执行成功,才会执行下一个。这样,可确保所有的命令执行完毕后,其执行过程都是...
  • Linux报bus error(总线错误)解决办法

    万次阅读 2018-08-03 16:14:28
    最近工作中遇到在Linux服务器上运行python程序时,能够正常import其自带的包,如re、sys等,但无法import外在安装的包,如MySQL、pymongo、elasticsearch等,只要执行这种import操作,python就会自动退出,并报bus ...
1 2 3 4 5 ... 20
收藏数 144,995
精华内容 57,998
关键字:

php执行linux命令