Whoops! There was an error.
UnexpectedValueException
The stream or file "/var/www/html/boibazar-public-php/blog/storage/logs/laravel.log" could not be opened: failed to open stream: Permission denied UnexpectedValueException thrown with message "The stream or file "/var/www/html/boibazar-public-php/blog/storage/logs/laravel.log" could not be opened: failed to open stream: Permission denied" Stacktrace: #9 UnexpectedValueException in /var/www/html/boibazar-public-php/blog/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php:107 #8 Monolog\Handler\StreamHandler:write in /var/www/html/boibazar-public-php/blog/vendor/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php:39 #7 Monolog\Handler\AbstractProcessingHandler:handle in /var/www/html/boibazar-public-php/blog/vendor/monolog/monolog/src/Monolog/Logger.php:344 #6 Monolog\Logger:addRecord in /var/www/html/boibazar-public-php/blog/vendor/monolog/monolog/src/Monolog/Logger.php:707 #5 Monolog\Logger:error in /var/www/html/boibazar-public-php/blog/vendor/laravel/framework/src/Illuminate/Log/Writer.php:203 #4 Illuminate\Log\Writer:writeLog in /var/www/html/boibazar-public-php/blog/vendor/laravel/framework/src/Illuminate/Log/Writer.php:114 #3 Illuminate\Log\Writer:error in /var/www/html/boibazar-public-php/blog/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php:113 #2 Illuminate\Foundation\Exceptions\Handler:report in /var/www/html/boibazar-public-php/blog/app/Exceptions/Handler.php:35 #1 App\Exceptions\Handler:report in /var/www/html/boibazar-public-php/blog/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php:81 #0 Illuminate\Foundation\Bootstrap\HandleExceptions:handleException in [internal]:0
9
UnexpectedValueException
/
vendor
/
monolog
/
monolog
/
src
/
Monolog
/
Handler
/
StreamHandler.php
107
8
Monolog
\
Handler
\
StreamHandler
write
/
vendor
/
monolog
/
monolog
/
src
/
Monolog
/
Handler
/
AbstractProcessingHandler.php
39
7
Monolog
\
Handler
\
AbstractProcessingHandler
handle
/
vendor
/
monolog
/
monolog
/
src
/
Monolog
/
Logger.php
344
6
Monolog
\
Logger
addRecord
/
vendor
/
monolog
/
monolog
/
src
/
Monolog
/
Logger.php
707
5
Monolog
\
Logger
error
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Log
/
Writer.php
203
4
Illuminate
\
Log
\
Writer
writeLog
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Log
/
Writer.php
114
3
Illuminate
\
Log
\
Writer
error
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Exceptions
/
Handler.php
113
2
Illuminate
\
Foundation
\
Exceptions
\
Handler
report
/
app
/
Exceptions
/
Handler.php
35
1
App
\
Exceptions
\
Handler
report
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Bootstrap
/
HandleExceptions.php
81
0
Illuminate
\
Foundation
\
Bootstrap
\
HandleExceptions
handleException
[internal]
0
/
var
/
www
/
html
/
boibazar-public-php
/
blog
/
vendor
/
monolog
/
monolog
/
src
/
Monolog
/
Handler
/
StreamHandler.php
    /**
     * {@inheritdoc}
     */
    protected function write(array $record)
    {
        if (!is_resource($this->stream)) {
            if (null === $this->url || '' === $this->url) {
                throw new \LogicException('Missing stream url, the stream can not be opened. This may be caused by a premature call to close().');
            }
            $this->createDir();
            $this->errorMessage = null;
            set_error_handler(array($this, 'customErrorHandler'));
            $this->stream = fopen($this->url, 'a');
            if ($this->filePermission !== null) {
                @chmod($this->url, $this->filePermission);
            }
            restore_error_handler();
            if (!is_resource($this->stream)) {
                $this->stream = null;
                throw new \UnexpectedValueException(sprintf('The stream or file "%s" could not be opened: '.$this->errorMessage, $this->url));
            }
        }
 
        if ($this->useLocking) {
            // ignoring errors here, there's not much we can do about them
            flock($this->stream, LOCK_EX);
        }
 
        $this->streamWrite($this->stream, $record);
 
        if ($this->useLocking) {
            flock($this->stream, LOCK_UN);
        }
    }
 
    /**
     * Write to stream
     * @param resource $stream
     * @param array $record
     */
Arguments
  1. "The stream or file "/var/www/html/boibazar-public-php/blog/storage/logs/laravel.log" could not be opened: failed to open stream: Permission denied"
    
/
var
/
www
/
html
/
boibazar-public-php
/
blog
/
vendor
/
monolog
/
monolog
/
src
/
Monolog
/
Handler
/
AbstractProcessingHandler.php
 *
 * @author Jordi Boggiano <j.boggiano@seld.be>
 * @author Christophe Coevoet <stof@notk.org>
 */
abstract class AbstractProcessingHandler extends AbstractHandler
{
    /**
     * {@inheritdoc}
     */
    public function handle(array $record)
    {
        if (!$this->isHandling($record)) {
            return false;
        }
 
        $record = $this->processRecord($record);
 
        $record['formatted'] = $this->getFormatter()->format($record);
 
        $this->write($record);
 
        return false === $this->bubble;
    }
 
    /**
     * Writes the record down to the log of the implementing handler
     *
     * @param  array $record
     * @return void
     */
    abstract protected function write(array $record);
 
    /**
     * Processes a record.
     *
     * @param  array $record
     * @return array
     */
    protected function processRecord(array $record)
    {
/
var
/
www
/
html
/
boibazar-public-php
/
blog
/
vendor
/
monolog
/
monolog
/
src
/
Monolog
/
Logger.php
        }
        $ts->setTimezone(static::$timezone);
 
        $record = array(
            'message' => (string) $message,
            'context' => $context,
            'level' => $level,
            'level_name' => $levelName,
            'channel' => $this->name,
            'datetime' => $ts,
            'extra' => array(),
        );
 
        try {
            foreach ($this->processors as $processor) {
                $record = call_user_func($processor, $record);
            }
 
            while ($handler = current($this->handlers)) {
                if (true === $handler->handle($record)) {
                    break;
                }
 
                next($this->handlers);
            }
        } catch (Exception $e) {
            $this->handleException($e, $record);
        }
 
        return true;
    }
 
    /**
     * Ends a log cycle and frees all resources used by handlers.
     *
     * Closing a Handler means flushing all buffers and freeing any open resources/handles.
     * Handlers that have been closed should be able to accept log records again and re-open
     * themselves on demand, but this may not always be possible depending on implementation.
     *
     * This is useful at the end of a request and will be called automatically on every handler
/
var
/
www
/
html
/
boibazar-public-php
/
blog
/
vendor
/
monolog
/
monolog
/
src
/
Monolog
/
Logger.php
     * @param  array  $context The log context
     * @return bool   Whether the record has been processed
     */
    public function err($message, array $context = array())
    {
        return $this->addRecord(static::ERROR, $message, $context);
    }
 
    /**
     * Adds a log record at the ERROR level.
     *
     * This method allows for compatibility with common interfaces.
     *
     * @param  string $message The log message
     * @param  array  $context The log context
     * @return bool   Whether the record has been processed
     */
    public function error($message, array $context = array())
    {
        return $this->addRecord(static::ERROR, $message, $context);
    }
 
    /**
     * Adds a log record at the CRITICAL level.
     *
     * This method allows for compatibility with common interfaces.
     *
     * @param  string $message The log message
     * @param  array  $context The log context
     * @return bool   Whether the record has been processed
     */
    public function crit($message, array $context = array())
    {
        return $this->addRecord(static::CRITICAL, $message, $context);
    }
 
    /**
     * Adds a log record at the CRITICAL level.
     *
     * This method allows for compatibility with common interfaces.
/
var
/
www
/
html
/
boibazar-public-php
/
blog
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Log
/
Writer.php
     * @return void
     */
    public function write($level, $message, array $context = [])
    {
        $this->writeLog($level, $message, $context);
    }
 
    /**
     * Write a message to Monolog.
     *
     * @param  string  $level
     * @param  string  $message
     * @param  array  $context
     * @return void
     */
    protected function writeLog($level, $message, $context)
    {
        $this->fireLogEvent($level, $message = $this->formatMessage($message), $context);
 
        $this->monolog->{$level}($message, $context);
    }
 
    /**
     * Register a file log handler.
     *
     * @param  string  $path
     * @param  string  $level
     * @return void
     */
    public function useFiles($path, $level = 'debug')
    {
        $this->monolog->pushHandler($handler = new StreamHandler($path, $this->parseLevel($level)));
 
        $handler->setFormatter($this->getDefaultFormatter());
    }
 
    /**
     * Register a daily file log handler.
     *
     * @param  string  $path
/
var
/
www
/
html
/
boibazar-public-php
/
blog
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Log
/
Writer.php
     *
     * @param  string  $message
     * @param  array  $context
     * @return void
     */
    public function critical($message, array $context = [])
    {
        $this->writeLog(__FUNCTION__, $message, $context);
    }
 
    /**
     * Log an error message to the logs.
     *
     * @param  string  $message
     * @param  array  $context
     * @return void
     */
    public function error($message, array $context = [])
    {
        $this->writeLog(__FUNCTION__, $message, $context);
    }
 
    /**
     * Log a warning message to the logs.
     *
     * @param  string  $message
     * @param  array  $context
     * @return void
     */
    public function warning($message, array $context = [])
    {
        $this->writeLog(__FUNCTION__, $message, $context);
    }
 
    /**
     * Log a notice to the logs.
     *
     * @param  string  $message
     * @param  array  $context
     * @return void
/
var
/
www
/
html
/
boibazar-public-php
/
blog
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Exceptions
/
Handler.php
     */
    public function report(Exception $e)
    {
        if ($this->shouldntReport($e)) {
            return;
        }
 
        if (method_exists($e, 'report')) {
            return $e->report();
        }
 
        try {
            $logger = $this->container->make(LoggerInterface::class);
        } catch (Exception $ex) {
            throw $e; // throw the original exception
        }
 
        $logger->error(
            $e->getMessage(),
            array_merge($this->context(), ['exception' => $e]
        ));
    }
 
    /**
     * Determine if the exception should be reported.
     *
     * @param  \Exception  $e
     * @return bool
     */
    public function shouldReport(Exception $e)
    {
        return ! $this->shouldntReport($e);
    }
 
    /**
     * Determine if the exception is in the "do not report" list.
     *
     * @param  \Exception  $e
     * @return bool
     */
/
var
/
www
/
html
/
boibazar-public-php
/
blog
/
app
/
Exceptions
/
Handler.php
    protected $dontReport = [
        \Illuminate\Auth\AuthenticationException::class,
        \Illuminate\Auth\Access\AuthorizationException::class,
        \Symfony\Component\HttpKernel\Exception\HttpException::class,
        \Illuminate\Database\Eloquent\ModelNotFoundException::class,
        \Illuminate\Session\TokenMismatchException::class,
        \Illuminate\Validation\ValidationException::class,
    ];
 
    /**
     * Report or log an exception.
     *
     * This is a great spot to send exceptions to Sentry, Bugsnag, etc.
     *
     * @param  \Exception  $exception
     * @return void
     */
    public function report(Exception $exception)
    {
        parent::report($exception);
    }
 
    /**
     * Render an exception into an HTTP response.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Exception  $exception
     * @return \Illuminate\Http\Response
     */
    public function render($request, Exception $exception)
    {
        return parent::render($request, $exception);
    }
 
    /**
     * Convert an authentication exception into an unauthenticated response.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Illuminate\Auth\AuthenticationException  $exception
     * @return \Illuminate\Http\Response
/
var
/
www
/
html
/
boibazar-public-php
/
blog
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Bootstrap
/
HandleExceptions.php
    }
 
    /**
     * Handle an uncaught exception from the application.
     *
     * Note: Most exceptions can be handled via the try / catch block in
     * the HTTP and Console kernels. But, fatal error exceptions must
     * be handled differently since they are not normal exceptions.
     *
     * @param  \Throwable  $e
     * @return void
     */
    public function handleException($e)
    {
        if (! $e instanceof Exception) {
            $e = new FatalThrowableError($e);
        }
 
        try {
            $this->getExceptionHandler()->report($e);
        } catch (Exception $e) {
            //
        }
 
        if ($this->app->runningInConsole()) {
            $this->renderForConsole($e);
        } else {
            $this->renderHttpResponse($e);
        }
    }
 
    /**
     * Render an exception to the console.
     *
     * @param  \Exception  $e
     * @return void
     */
    protected function renderForConsole(Exception $e)
    {
        $this->getExceptionHandler()->renderForConsole(new ConsoleOutput, $e);
[internal]

Environment & details:

empty
empty
empty
empty
empty
Key Value
REDIRECT_UNIQUE_ID
"ZWpfFZph4zsR2XzakPfiEAAAAA8"
REDIRECT_HTTPS
"on"
REDIRECT_SSL_TLS_SNI
"www.boibazar.com"
REDIRECT_STATUS
"200"
UNIQUE_ID
"ZWpfFZph4zsR2XzakPfiEAAAAA8"
HTTPS
"on"
SSL_TLS_SNI
"www.boibazar.com"
HTTP_USER_AGENT
"CCBot/2.0 (https://commoncrawl.org/faq/)"
HTTP_ACCEPT
"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"
HTTP_ACCEPT_LANGUAGE
"en-US,en;q=0.5"
HTTP_IF_MODIFIED_SINCE
"Mon, 05 Dec 2022 07:15:12 GMT"
HTTP_ACCEPT_ENCODING
"br,gzip"
HTTP_HOST
"www.boibazar.com"
HTTP_CONNECTION
"Keep-Alive"
PATH
"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin"
SERVER_SIGNATURE
""
SERVER_SOFTWARE
"Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/7.4.33"
SERVER_NAME
"www.boibazar.com"
SERVER_ADDR
"103.108.140.242"
SERVER_PORT
"443"
REMOTE_ADDR
"18.206.12.157"
DOCUMENT_ROOT
"/var/www/html/boibazar-public-php"
REQUEST_SCHEME
"https"
CONTEXT_PREFIX
""
CONTEXT_DOCUMENT_ROOT
"/var/www/html/boibazar-public-php"
SERVER_ADMIN
"root@localhost"
SCRIPT_FILENAME
"/var/www/html/boibazar-public-php/blog/public/index.php"
REMOTE_PORT
"37158"
REDIRECT_URL
"/blog/public/article/টিভি-দেখা-বনাম-খেলাধুলা"
GATEWAY_INTERFACE
"CGI/1.1"
SERVER_PROTOCOL
"HTTP/1.1"
REQUEST_METHOD
"GET"
QUERY_STRING
""
REQUEST_URI
"/blog/public/article/%E0%A6%9F%E0%A6%BF%E0%A6%AD%E0%A6%BF-%E0%A6%A6%E0%A7%87%E0%A6%96%E0%A6%BE-%E0%A6%AC%E0%A6%A8%E0%A6%BE%E0%A6%AE-%E0%A6%96%E0%A7%87%E0%A6%B2%E0%A6%BE%E0%A6%A7%E0%A7%81%E0%A6%B2%E0%A6%BE"
SCRIPT_NAME
"/blog/public/index.php"
PHP_SELF
"/blog/public/index.php"
REQUEST_TIME_FLOAT
1701469973.2898
REQUEST_TIME
1701469973
APP_NAME
"BoiBazarBlog"
APP_ENV
"local"
APP_KEY
"base64:7pRZMWt0IIg7z2u9X9IFi1UIxU6+ZEtIlX9lqgSqFho="
APP_DEBUG
"true"
APP_LOG_LEVEL
"debug"
APP_URL
"http://localhost"
DB_CONNECTION
"mysql"
DB_HOST
"127.0.0.1"
DB_PORT
"3306"
DB_DATABASE
"blog1"
DB_USERNAME
"root"
DB_PASSWORD
"boibazar420"
BROADCAST_DRIVER
"log"
CACHE_DRIVER
"file"
SESSION_DRIVER
"file"
QUEUE_DRIVER
"sync"
REDIS_HOST
"127.0.0.1"
REDIS_PASSWORD
"null"
REDIS_PORT
"6379"
MAIL_DRIVER
"smtp"
MAIL_HOST
"smtp.mailtrap.io"
MAIL_PORT
"2525"
MAIL_USERNAME
"null"
MAIL_PASSWORD
"null"
MAIL_ENCRYPTION
"null"
PUSHER_APP_ID
""
PUSHER_APP_KEY
""
PUSHER_APP_SECRET
""
Key Value
APP_NAME
"BoiBazarBlog"
APP_ENV
"local"
APP_KEY
"base64:7pRZMWt0IIg7z2u9X9IFi1UIxU6+ZEtIlX9lqgSqFho="
APP_DEBUG
"true"
APP_LOG_LEVEL
"debug"
APP_URL
"http://localhost"
DB_CONNECTION
"mysql"
DB_HOST
"127.0.0.1"
DB_PORT
"3306"
DB_DATABASE
"blog1"
DB_USERNAME
"root"
DB_PASSWORD
"boibazar420"
BROADCAST_DRIVER
"log"
CACHE_DRIVER
"file"
SESSION_DRIVER
"file"
QUEUE_DRIVER
"sync"
REDIS_HOST
"127.0.0.1"
REDIS_PASSWORD
"null"
REDIS_PORT
"6379"
MAIL_DRIVER
"smtp"
MAIL_HOST
"smtp.mailtrap.io"
MAIL_PORT
"2525"
MAIL_USERNAME
"null"
MAIL_PASSWORD
"null"
MAIL_ENCRYPTION
"null"
PUSHER_APP_ID
""
PUSHER_APP_KEY
""
PUSHER_APP_SECRET
""
0. Whoops\Handler\PrettyPageHandler