php+运行shell脚本_php 运行shell脚本 - CSDN
精华内容
参与话题
  • Notepad++ 是一款Windows环境下免费开源...本文给大家讲解的是用notepad++在windows下开发的shell脚本上传到linux下无法执行问题解决方法(bom问题),感兴趣的同学参考下。 问题描述: 在一次调试shell语句的
    Notepad++ 是一款Windows环境下免费开源的代码编辑器,支持的语言:C, C++ , Java , C#, XML, HTML, PHP, Javascript!
    

    本文给大家讲解的是用notepad++在windows下开发的shell脚本上传到linux下无法执行问题解决方法(bom问题),感兴趣的同学参考下。

    问题描述:

    在一次调试shell语句的过程中发现,从notepad++文本拷贝出来的shell到Linux执行时,无任何错误!但是把notepad写好 的shell脚本上传到Linux系统调试时,报无法找到命令的错误!细想一下,问题根究肯定在Nodepad++上面,后查找原因,原来是格式转换的问题

    1、查看当前文本格式

    Notepad++界面中,在右下角有文件格式的描述:“Dos\Windows或UNIX或Mac”。

    2、文件转换方法

    1417770665_9378.jpg


    但是如果每写一个shell文件都需要这样转换可能会很麻烦,那有没有一劳永逸的办法呢?答案是有的,我们可以设置Notepad++默认新建的文件都是shell格式,具体操作如下:

    打开在notepad++,设置,首选项

    1417770666_9772.jpg

    注意点:

    1 文件格式,换行符windows和linux不一样

    2 utf8文件不要有bom头

    欢迎转载请注明来源一路博客,地址:http://www.16boke.com/article/detail/144

    展开全文
  • php运行shell脚本

    2014-07-26 23:18:49
    从PHP运行一个shell脚本... 通过正确设置,shell脚本和命令可以通过简单地要求在WEB网页上运行。...通过使用特殊的PHP函数,我们就能够使PHP运行shell脚本或我们输入的命令。  以管理员的身份将不再需要登录才能通过
        从PHP运行一个shell脚本或命令给系统管理员带来很多便利。我们可以通过click页面,执行php从而减少重复的代码录入,提高开发效率
    通过正确设置,shell脚本和命令可以通过简单地要求在WEB网页上运行。网站的服务器会接收请求,然后将它传递给PHP解释器。通过使用特殊的PHP函数,我们就能够使PHP运行shell脚本或我们输入的命令。


        以管理员的身份将不再需要登录才能通过SSH或其他方式的服务器,以便在服务器上运行shell脚本和命令这种技术是非常有用的。下面的PHP演示了正确的方法在PHP中运行shell脚本和命令。 


    如何在PHP中运行shell命令 


        PHP的了shell_exec命令允许我们在PHP中执行shell命令。这是我们将使用运行命令和shell脚本的功能。例如,如果我们想输出当前目录的目录列表,我们可以使用下面的代码: 


        <?php
     
    // for Linux
    $result = shell_exec('ls -altp');
     
    // for Windows
    // $result = shell_exec('dir');
     
    echo "<pre>$result</pre>";
     
        ?>


    使用HTML标签前保存我们接收输出的格式。其结果将是一个目录列表,我们会看到,如果我们跑在终端相同的命令: 


      ddrwxr-xr-x  6 root root 4096 Jan 27 10:51 ./
      drwxr-xr-x 29 root root 4096 Feb 25 13:25 ../
      -rwx------  4 root root 8900 Aug 21 23:50 backup-script.sh
      drwxr-xr-x  8 root root 4096 Dec 20 13:56 temp/


    如何在PHP中运行一个shell脚本?
        从PHP运行shell脚本的原理是一样的。我们首先创建一个shell脚本,并在某处保存在我们的服务器上。比方说,我们的shell脚本位于/path/to/sample.sh并包含: 


        #!/bin/bash

        echo "Tutorial Arena rocks"


    我们首先需要通过运行以下命令来使我们的shell脚本可执行: 


        chmod a+x sample.sh


    然后,我们用我们的PHP脚本来执行我们刚刚创建的shell脚本。这是一个good idea,指定如下所示的shell脚本的绝对路径: 


        <?php
     
    $result = shell_exec('/path/to/sample.sh');
    echo $result;
     
        ?>
        当我们要求我们的PHP脚本在浏览器内,我们将得到下面的输出: 


    Tutorial Arena rocks 


    此时,我们已经成功地从PHP运行一个shell脚本。 


        从PHP运行shell命令安全隐患 


        正如你看到的上面,它是很容易运行一个shell脚本或PHP中执行shell命令。小心遵循正确的编码实践,使你的Web服务器仍然是安全的。你想的最后一件事是攻击者能够从你的应用程序运行shell命令。不要做一些愚蠢的像传递给被执行的命令通过POST或GET方法。 


        做的最好的事情是硬编码的shell命令或将要运行脚本,然后保护PHP脚本本身,这通过把它由基本身份验证保护的目录下运行这些命令,也是推荐的做法。
    展开全文
  • shell脚本调用php代码

    千次阅读 2011-08-22 16:04:32
    shell里可以通过cgi模式来调用php,例如下面 /usr/php5/bin/php -q /var/html/demo.php 当需要并发处理一些php程序时 在其后面加上& 有的时候可以需要传些参数 /usr/php5/bin/php -

    shell里可以通过cgi模式来调用php,例如下面

    /usr/php5/bin/php -q  /var/html/demo.php

    当需要并发处理一些php程序时  在其后面加上&

    有的时候可以需要传些参数

    /usr/php5/bin/php -q  /var/html/demo.php hehe 3

    这样的话就向demo.php新传输了2个参数 hehe 以及 3

    在php里面可以通过$argv获取参数,demo.php的参数$argv[0] 为文件路径、$argv[1] 为呵呵 、$argv[2] 为3




    展开全文
  • php执行shell脚本

    千次阅读 2019-03-25 16:44:15
    php作为一门服务器端脚本语言,也是可以调用系统命令的,这其中就包括了执行shell脚本 编写test.sh脚本如下 #! /bin/sh ...很简单的一个shell脚本 创建一个文件夹 php脚本如下 system('/us...

    原文:https://blog.csdn.net/zhangsheng_1992/article/details/52805760 

    php作为一门服务器端脚本语言,也是可以调用系统命令的,这其中就包括了执行shell脚本


    编写test.sh脚本如下

    #! /bin/sh

    mkdir /www/a

    很简单的一个shell脚本 创建一个文件夹


    php脚本如下

    system('/usr/bin/test.sh')


    在运行前 首先需要验证的

    1.test.sh脚本是否具有可执行权限

    2.apache nginx phttp等web服务器是否有test.sh的权限

    3.由于是同步文件命令 所以需要确保用户对要下载的目录有写入权限

    4.由于我使用php版本高于5.4,已经删除了安全模式一说,说一也不存在运行在安全模式下

    5.执行的脚本请使用绝对路径 这点很重要


    但是  实际运行后  我发现输出了faild  说明脚本并没有执行成功  查了下原因  是因为apache用户不具备某些目录的执行权限(没个用户有没个用户的可执行目录,你的脚本需要在该目录下)   切换目录属主容易造成安全问题  在linux下 root用户是不受此限制的 所以 临时让用户可以切换到root权限 既可以简单的规避此类问题  如何操作呢?

    首先 查看你的apache用户或者nginx php-fpm用户

    可以使用 ps -ef  | grep httpd 命令来查看  其他同理

    经查我的apache用户为_www用户

    然后 visudo   或者 vim /etc/sudoers 找到

    ## Allow root to run any commands anywhere 

    root    ALL=(ALL)       ALL这一行 在下边追加

    _www ALL=(root)  NOPASSWD:ALL
    第一列是用户  第二个是可以切换到的用户 我这里写的是root  如果你想让随意切换可以在这里写All  第三个是可以执行的脚本路径 ALL 表示所有

    最后 重启apache让用户重新获得权限

    修改php脚本

    system('sudo /usr/bin/test.sh')


    运行 执行成功~~~

    展开全文
  • 收藏!一篇教会你写90%的shell脚本

    万次阅读 多人点赞 2020-08-21 17:25:45
    还不会写shell脚本?这篇文章教会你写90%的shell脚本
  • php后台调shell脚本

    2017-05-22 10:37:43
    假设shell脚本test.sh #!/bin/bash arg=$1 log=/var/www/lighttpd/1.txt echo $arg >> $log /usr/local/ffmpeg/bin/ffmpeg -y -i /var/www/lighttpd/1.mp4 /var/www/lighttpd/2.mp4 2>>$log //此命令大约5...
  • 首先php可以写linux的shell脚本,是非常快捷方便的,也展现了php的强大。 (1)讲解头部的一些开头文件代表什么意思。 eg #!/usr/bin/env php #!/usr/bin/php 哎,看了网上的一些说法,说只要平常写#!/usr/...
  • 有一个php文件a.php,内容为 ...我在服务器上直接运行a.php可以正常调用make.sh,现在想通过浏览器访问a.php来调用这个shell脚本,然后在浏览器上访问a.php发现脚本没有执行。 大神们帮我看看是哪有问题
  • shell调用php脚本,并传递参数

    千次阅读 2016-07-19 17:02:57
    一,为什么我们要在命令行下运行php脚本呢? 个人理解,主要有二个原因: 1,利用crontab去跑php,可以给服务器减压,当然在这里有一个条件,就是实时性要求不高。比如:sns中的好友动态,这个实时要求不高,...
  • PHP作为Shell脚本语言使用

    千次阅读 2004-11-20 10:37:00
    PHP作为Shell脚本语言使用 可能很多人都想过使用PHP编写一些定时发信之类的程序,但是却没有办法定时执行PHP;一次去PHPBuilder的时候,发现了这一篇文章,于是想给大家翻译一下(同时做了一些修改),希望对大家...
  • php利用sudo权限执行shell脚本

    万次阅读 2017-03-17 11:47:30
    php作为一门服务器端脚本语言,也是可以调用系统命令的,这其中就包括了执行shell脚本 最近有一个需求,由于http的表单方式上传文件过慢,需要通过其他方式传输文件,讨论了scp与rsync后 最终决定使用scp工具 编写test....
  • shell脚本定时执行php程序

    千次阅读 2019-03-05 11:18:30
    其实很简单的,在做开发的过程中可能会遇到一些情况需要定时得去...然后我们写一个shell脚本来执行这个php程序 就单纯的一个执行php程序的shell就写好了,然后咱们运行一下 好,显示插入成功,证明这个shell是...
  • iOS 从今天开始学习写 shell 脚本

    千次阅读 2018-09-08 18:50:42
    联系人:石虎 QQ:1224614774 昵称: 嗡嘛呢叭咪哄  QQ群:807236138 群称: iOS 技术交流学习群   一、概念   ... Shell 脚本 Shell 脚本编写环境 ... 运行shell 脚本有两种方法   Shell 简介...
  • 简单实例讲解如何使用shell脚本监控一个php程序的运行状况是否正常思路分析脚本代码 思路分析 1、我们判断一个程序是否运行,可以通过查看该程序的进程信息来判断。 例: 判断程序 01FirstScript.sh 是否在运行 ...
  • shell脚本

    千次阅读 2016-12-22 11:20:17
    shell脚本
  • php执行linux命令、shell脚本。以获取服务器运行状态举栗子
  • PHP shell 脚本(以脚本方式执行php)

    千次阅读 2009-07-31 17:20:00
    文件phpshell.php内容: phpinfo();?>1、[sahusoft@localhost ]$php phpshell.php2、在phpshell.php文件的第一行加上如下内容: #!/usr/bin/php -q 其中具体php的路径按实际情况填写。 [sahusoft@localhost ]$...
  • Linux Shell脚本编程--curl命令详解

    万次阅读 多人点赞 2013-08-25 20:36:14
    用途说明 curl命令是一个功能强大的网络工具,它能够通过http、ftp等方式下载文件,也能够上传文件。其实curl远不止前面所说的那些功能,大家可以通过man curl阅读手册页获取更多的信息。类似的工具还有wget。 ...
1 2 3 4 5 ... 20
收藏数 45,242
精华内容 18,096
关键字:

php+运行shell脚本