【问题标题】:Running php script (php function) in linux bash在 linux bash 中运行 php 脚本(php 函数)
【发布时间】:2011-07-29 19:19:34
【问题描述】:

我们如何使用 Linux bash 运行 php 脚本?

php文件test.php

test.php 包含:

<?php echo "hello\n" ?>

【问题讨论】:

  • 除了下面的答案之外,如果您使用的是 PHP 短标签 (&lt;? … ?&gt;),请确保在 php.ini 中启用它们。

标签: php linux bash shell


【解决方案1】:

从命令行输入:

php -f filename.php

确保 filename.php 包含并执行您要测试的函数。您回显的任何内容都会出现在控制台中,包括错误。

请注意,Apache PHP 的 php.ini 通常与 CLI PHP(命令行界面)不同。

参考:https://secure.php.net/manual/en/features.commandline.usage.php

【讨论】:

    【解决方案2】:

    首先检查您的 PHP 安装是否支持 CLI。类型:php -v。您可以通过 2 种方式从命令行执行 PHP:

    1. php yourfile.php
    2. php -r 'print("Hello world");'

    【讨论】:

      【解决方案3】:

      有两种方法可以做到这一点。一种是已经提到的,即:

      php -f filename.php
      

      第二个选项是使脚本可执行 (chmod +x filename.php) 并将以下行添加到 .php 文件的顶部:

      #!/path/to/php
      

      我不确定网络服务器是否喜欢这样,所以如果您还想在网站中使用 .php 文件,那可能不是最好的主意。不过,如果您只是在编写某种脚本,输入./path/to/phpfile.php 比每次都输入php -f /path/to/phpfile.php 更容易。

      【讨论】:

      • 哈希爆炸方法只有在您使脚本的权限可执行时才有效
      • 你也可以运行which php &gt; filename.php然后chmod +x filename.php然后编辑文件。
      • 请注意,@YzmirRamirez 的评论将覆盖 filename.php 如果它存在
      【解决方案4】:

      只需在 linux 终端中运行即可获取 phpinfo。

         php -r 'phpinfo();'
      

      并运行 index.php 之类的文件

          php -f index.php
      

      【讨论】:

        【解决方案5】:

        应该这样做:

        php test.php
        

        【讨论】:

          【解决方案6】:
          php -f test.php
          

          查看manual 了解从命令行运行 PHP 的完整详细信息

          【讨论】:

            【解决方案7】:
            php test.php
            

            应该这样做,或者

            php -f test.php
            

            要明确。

            【讨论】:

              【解决方案8】:

              我需要在 Bash 脚本中解码 URL。所以我决定以这种方式使用PHP:

              $ cat url-decode.sh
              
              #!/bin/bash
              URL='url=https%3a%2f%2f1%2fecp%2f'
              /usr/bin/php -r '$arg1 = $argv[1];echo rawurldecode($arg1);' "$URL"
              

              样本输出:

              $ ./url-decode.sh 
              url=https://1/ecp/
              

              【讨论】:

                猜你喜欢
                • 2011-02-02
                • 2017-11-04
                • 1970-01-01
                • 1970-01-01
                • 2012-09-14
                • 1970-01-01
                • 2015-02-23
                • 1970-01-01
                • 2011-07-27
                相关资源
                最近更新 更多