问题描述
我在共享主机中使用我的应用程序,它是在laravel中产生的。它给了我
PHP警告:array_shift()期望参数1为数组,第53行给出null
PHP注意:未定义的索引:第49行中的argv
使用以下代码:
class ArgvInput extends Input
{
private $tokens;
private $parsed;
public function __construct(array $argv = null,InputDeFinition $deFinition = null)
{
if (null === $argv) {
$argv = $_SERVER['argv'];
}
// strip the application name
array_shift($argv);
$this->tokens = $argv;
parent::__construct($deFinition);
}
解决方法
这可能意味着$_SERVER['argv']
变量也为空。我建议先检查一下,或者您可以这样做:
$argv = $argv ?? $_SERVER['argv'] ?? [];
这样,即使没有输入,您也将始终拥有一个数组,在这种情况下,该数组将为空,并且不会触发该错误