我在这里看到其他用户问这个问题,我尝试了他们在答案部分所说的内容,但没有任何效果。
我有这个变量:
$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 也可以做到。
两个选项 - 将变量作为参数传递给函数或使用全局表达式命名函数中的变量。变量必须在调用函数的范围内可用。
$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;
}