我在这里看到其他一些用户问这个,我尝试了他们在答案部分所说的内容,但没有任何对我有用。
我有这个变量:
$inputs = \Request::all();
$domain = $inputs['domain'];
现在$ domain是我需要的域名。
这是我的功能:
function searchfor ($search)
{
$path = '/var/www/laravel/logs/vhosts/';
$shell_exec = shell_exec("grep -c -i $search $path" . $domain . ".log");
return $shell_exec;
}
这没有用,因为PHP当然不知道$domain
是什么。
现在我尝试在函数中添加global $domain;
,但这也没有用。
我也试过这个:
function anzahlsuche($search) use ($domain) { ... }
但它是一样的,它对我没用。
有人知道我能做什么吗?
我正在使用Laravel框架,也许有人知道laravel中的解决方案,当然普通的php也会这样做。
答案 0 :(得分:3)
两个选项 - 将变量作为参数传递给函数,或使用全局表达式命名函数中的变量。变量必须在调用函数的范围内可用。
$inputs = \Request::all();
$domain = $inputs['domain'];
function anzahlsuche($search,$domain)
{
$path = '/var/www/laravel/logs/vhosts/';
$shell_exec = shell_exec("grep -c -i $search $path" . $domain . ".log");
return $shell_exec;
}
function anzahlsuche($search)
{
global $domain;
$path = '/var/www/laravel/logs/vhosts/';
$shell_exec = shell_exec("grep -c -i $search $path" . $domain . ".log");
return $shell_exec;
}