我正在从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脚本。问题从第二个开始,因为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]不存在,因为我偶尔只提供一个参数。
答案 0 :(得分:0)
检查是否已设置而不是将其设置为空。
$placeholder = (isset($argv[2]) ? $argv[2] : null);