PHP Командная строка argv [1] всегда ноль

Мой 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] будет нулевым?

0

Решение

Согласно руководство argv — это массив строк. Вы сравниваете с RUN, но это должно быть 'RUN' чтобы указать, что Run также является строкой. В противном случае он попытается найти переменную RUN который не определен и, следовательно, не будет равен argv[1]

0

Другие решения

Вы должны написать в своем условии, если

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

потому что слово «RUN» — это строка, получаемая из командной строки.

0

По вопросам рекламы [email protected]