PHP不读取命令行参数

时间:2011-04-16 13:55:00

标签: php command-line-arguments

我创建了一个小脚本,用于从某些链接“清理”站点地图文件。我认为我以前使用它没有任何问题,但由于一个奇怪的错误现在无法使用它 - 根本没有读取命令行参数。

我可能正在寻找错误的地方,但我用Google搜索,我得到的就是我正在实施的用法。

请检查以下代码段:

 if(count($argv) != 4) {
            echo "\n\nUSAGE: php cleanSitemap.php <input file> <output file> <bad str>\n"
                    ."This script parses <input file>, skipping all the sitemap XML elements containing <bad str>,\n"
                    ."writting only 'good' XML elements into sitemap.\n"
                    ."Sample: php cleanSitemap.php sitemap.xml sitemap_clean.xml protect-x\n"
                    ."\n";
            echo "You entered " . count($argv) . " parameters.\n";
            exit();
    }

您怎么看?问题出在哪里???

编辑: 为简化起见,我创建了test.php,内容如下:

<?php
        echo count($argv) ."\n";
        print_r($argv);
        echo "\n";
?>
  

-bash-3.2 $ / web / cgi-bin / php5 test.php 1 2 3 45

     

内容类型:text / html

     

0

好的......写这篇文章的时候,我想我可能已经有了一些东西:这是Godaddy共享主机上使用的php5客户端。也许它以某种方式设置不通过命令行使用?或者,如果使用它,它不接受命令行参数。

1 个答案:

答案 0 :(得分:3)

Ohhhhhhhhhhh ......好吧,我是一个完全的菜鸟。

我刚刚发现这个问题确实与使用不正确的php二进制文件有关...也就是说,'{right'}可以在/usr/local/php5/bin/php中找到。

我真的很抱歉这个错误。