繁体   English   中英

PHP命令行argv [1]始终为null

[英]PHP Command Line argv[1] always null

我的PHP脚本是这样的:

<?php
if ($argv[1] == 'RUN') {
    //a URL you want to retrieve
    $my_url = 'thisURL.com';
    $html = file_get_contents($my_url);
    $dom = new DOMDocument();
    $dom->loadHTML($html);
    $xpath = new DOMXPath($dom);

    ...

    $fp = fopen('standings.json', 'w');
    fwrite($fp, json_encode($teamInfoArrays));
    fclose($fp);
} else {
    $data = file_get_contents ('standings.json');
    echo $data;
}
?>

但是当我使用以下命令从命令行运行php脚本时

php /home/usrname/public_html/standings.php RUN

不满足“ if”功能,而是执行“ else”部分。 为什么argv [1]为空?

根据手册, argv是字符串数组。 您正在与RUN进行比较,但这应该为'RUN'以指示Run也是一个字符串。 否则它将尝试查找未定义的变量RUN ,因此将不等于argv[1]

你应该写你的if条件

 if ($argv[1] == "RUN") {...

因为“ RUN”字是从命令行获取的字符串。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM