【问题标题】:execute php script inside shell script? [duplicate]在shell脚本中执行php脚本? [复制]
【发布时间】:2013-12-17 11:13:29
【问题描述】:

我想在 shell script 中调用一个 php 脚本,需要发送 4 个参数。我在 shellscript 中这样调用了那个。

php /var/www/php/myscript.php $var1 $var2 $var3 $var4

但是 php 脚本没有执行。那么向php脚本发送参数并在shellscript中执行脚本的正确方法是什么?

【问题讨论】:

    标签: php shell


    【解决方案1】:

    假设你有一个可执行文件file.sh:

    #!/usr/bin/php
    <?php
    
    include('your/file.php');
    exit;
    

    或与当前环境

    #!/usr/bin/env php
    <?php
    
    include('your/file.php');
    exit;
    

    然后在命令行中执行

    $ ./file.sh
    

    【讨论】:

    • 如果你想通过问题 "./file.sh" 执行它,不要忘记给文件添加正确的权限,例如 chmod +x file.sh
    【解决方案2】:

    这是示例,请特别注意参数中的引号,以将字符串中的任何字符(如空格或破折号)包裹起来,这些字符可能会影响 args 的读取。

    bash.sh

    #!/bin/bash
    php test.php "$1" "$2"
    

    test.php

    <?php
    
    $a = $argv[1];
    $b = $argv[2];
    
    echo "arg1 : $a, arg2: $b";
    

    一些输出

    $bash bash.sh Hello World
    arg1 : Hello, arg2: World
    
    $bash bash.sh Hello
    arg1 : Hello, arg2:
    
    $bash bash.sh "Hello World"
    arg1 : Hello World, arg2:
    

    希望对你有帮助

    【讨论】:

      猜你喜欢
      • 2013-06-13
      • 2011-12-06
      • 2016-07-02
      • 2019-04-29
      • 2016-05-23
      • 1970-01-01
      • 2015-12-01
      • 2011-08-18
      • 1970-01-01
      相关资源
      最近更新 更多