PHP argv丢失导致脚本无法运行[重复]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP argv丢失导致脚本无法运行[重复]相关的知识,希望对你有一定的参考价值。

我从bash调用php脚本,偶尔我会提供2个或有时3个参数

Bash脚本

 ip =  192.168.1.4
 name = machine2
 callScript=`/usr/bin/php check.php $ip $name`
 callScript2=`/usr/bin/php check.php $name`

正如您所看到的,有一次我使用两个参数调用PHP脚本,而使用一个参数调用另一个参数。问题从第二个开始,因为PHP有​​argv [1]和argv [2]然后PHP抱怨说PHP Notice: Undefined offset: 2因为没有传递第二个参数

这是我的PHP脚本

$placeholder = NULL;
if ($argv[2] === NULL) {
   //Do nothing
} else {
   $placeholder = $argv[2];
}

我这样做,以便如果传递第二个参数,将其存储在占位符中,但如果不是,则不执行任何操作。问题是PHP在我的代码的第二行停止,因为$ argv [2]不存在,因为我偶尔只提供一个参数。

答案

检查它是否已设置而不是null。

$placeholder = (isset($argv[2]) ? $argv[2] : null);

以上是关于PHP argv丢失导致脚本无法运行[重复]的主要内容,如果未能解决你的问题,请参考以下文章

php - 刷新页面后会话丢失[重复]

php会话随机丢失,无法理解为啥

页面之间的会话变量丢失[重复]

linux脚本运行后把脚本删了会怎么办

由于不活动而导致会话超时[重复]

php会话随机丢失,无法理解原因