Laravel 文件系统取消链接中的模糊错误消息
Vague Error Message in Laravel FileSystem Unlink
美好的一天,
我修改了这个文件。
vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php
这是我修改的函数
public function handleError($level, $message, $file = '', $line = 0, $context = [])
我让它给我发了一封电子邮件。电子邮件包含 $message、$file 和 $line。
这就是邮件中所说的。
MESSAGE FILE vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php LINE 126
该消息是空白的,但 运行 文件中出现错误。我打开文件。
public function delete($paths)
{
$paths = is_array($paths) ? $paths : func_get_args();
$success = true;
foreach ($paths as $path) {
try {
if (! @unlink($path)) { # the error is here
$success = false;
}
} catch (ErrorException $e) {
$success = false;
}
}
return $success;
}
我很困惑。为什么错误没有被 catch 块捕获?什么类型的错误不会向 laravel 的错误处理程序发送消息?我可以做些什么来获取有关该错误的更多信息吗?
这是我们的 Laravel 版本。
Laravel 框架版本 5.1.45 (LTS)
首先你问的问题是有误导性的。您要做的是在 laravel 中添加一个自定义错误处理程序,您可以通过遵循 this URL .
来实现
您遇到的错误可能是由于文件权限错误导致的。
并且由于在函数调用 unlink() 之前有 @ 符号,因此抑制了由它引起的任何错误。
删除 @ 符号,如果文件不存在或有错误,它会抛出它,然后 catch 块会捕获它。
美好的一天,
我修改了这个文件。
vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php
这是我修改的函数
public function handleError($level, $message, $file = '', $line = 0, $context = [])
我让它给我发了一封电子邮件。电子邮件包含 $message、$file 和 $line。
这就是邮件中所说的。
MESSAGE FILE vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php LINE 126
该消息是空白的,但 运行 文件中出现错误。我打开文件。
public function delete($paths)
{
$paths = is_array($paths) ? $paths : func_get_args();
$success = true;
foreach ($paths as $path) {
try {
if (! @unlink($path)) { # the error is here
$success = false;
}
} catch (ErrorException $e) {
$success = false;
}
}
return $success;
}
我很困惑。为什么错误没有被 catch 块捕获?什么类型的错误不会向 laravel 的错误处理程序发送消息?我可以做些什么来获取有关该错误的更多信息吗?
这是我们的 Laravel 版本。
Laravel 框架版本 5.1.45 (LTS)
首先你问的问题是有误导性的。您要做的是在 laravel 中添加一个自定义错误处理程序,您可以通过遵循 this URL .
来实现您遇到的错误可能是由于文件权限错误导致的。
并且由于在函数调用 unlink() 之前有 @ 符号,因此抑制了由它引起的任何错误。
删除 @ 符号,如果文件不存在或有错误,它会抛出它,然后 catch 块会捕获它。