Independent bookshops looking for buyers

More than 20 independent bookshops across the UK are looking for buyers, according to industry publication, The Bookseller.

The magazine has counted at least 22 bookshops that are currently clamouring to find a buyer, with many of the owners citing the recession, online book sales and difficulties in borrowing money from banks as reasons behind their decisions to sell.

Businesses on offer range from a book and card shop in Preston on the market for just £10,000, to a North Yorkshire specialist vendor that is being sold for £175,000.

David Mainwaring is one of the retailers who has decided to sell up. He has run Books Plus in Penzance in Cornwall for nearly 20 years with his wife, Barbara, but is looking to retire. Passing on the reins, however, is proving difficult as the shop has been for sale for eight months - a problem that David has realised is caused by a number of reasons.

"Number one, nobody is buying, so the number of stores up for sale is increasing," he said. "And number two, the recession isn't helping—but it is probably worse for bookshops because of the negative press surrounding the rise of e-books and competition from Amazon, which is going to put off a potential buyer."

A shop in Scotland, however, has recently sold after just a month on the market. The business broker who handled the sale said, "It's true that it's a tough market out there, but there are a lot of people passionate about physical books, and if you are selling at the right price to the right person, that's all that matters."



Whoops! There was an error.
ErrorException (E_WARNING)
file_put_contents(/home/bizsale/storage/framework/sessions/vSD4kOLneDOJ6dtWPef0iJ6r5IejXzf4HKTPsiJm): failed to open stream: No space left on device ErrorException thrown with message "file_put_contents(/home/bizsale/storage/framework/sessions/vSD4kOLneDOJ6dtWPef0iJ6r5IejXzf4HKTPsiJm): failed to open stream: No space left on device" Stacktrace: #7 ErrorException in /home/bizsale/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:122 #6 file_put_contents in /home/bizsale/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:122 #5 Illuminate\Filesystem\Filesystem:put in /home/bizsale/vendor/laravel/framework/src/Illuminate/Session/FileSessionHandler.php:83 #4 Illuminate\Session\FileSessionHandler:write in /home/bizsale/vendor/laravel/framework/src/Illuminate/Session/Store.php:128 #3 Illuminate\Session\Store:save in /home/bizsale/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:87 #2 Illuminate\Session\Middleware\StartSession:terminate in /home/bizsale/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:218 #1 Illuminate\Foundation\Http\Kernel:terminateMiddleware in /home/bizsale/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:189 #0 Illuminate\Foundation\Http\Kernel:terminate in /home/bizsale/public_html/index.php:65
Application frames (1) All frames (8)
7
ErrorException
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Filesystem
/
Filesystem.php
122
6
file_put_contents
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Filesystem
/
Filesystem.php
122
5
Illuminate
\
Filesystem
\
Filesystem
put
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Session
/
FileSessionHandler.php
83
4
Illuminate
\
Session
\
FileSessionHandler
write
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Session
/
Store.php
128
3
Illuminate
\
Session
\
Store
save
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Session
/
Middleware
/
StartSession.php
87
2
Illuminate
\
Session
\
Middleware
\
StartSession
terminate
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Http
/
Kernel.php
218
1
Illuminate
\
Foundation
\
Http
\
Kernel
terminateMiddleware
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Http
/
Kernel.php
189
0
Illuminate
\
Foundation
\
Http
\
Kernel
terminate
/
public_html
/
index.php
65
/
home
/
bizsale
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Filesystem
/
Filesystem.php
     *
     * @param  string  $path
     * @return string
     */
    public function hash($path)
    {
        return md5_file($path);
    }
 
    /**
     * Write the contents of a file.
     *
     * @param  string  $path
     * @param  string  $contents
     * @param  bool  $lock
     * @return int
     */
    public function put($path, $contents, $lock = false)
    {
        return file_put_contents($path, $contents, $lock ? LOCK_EX : 0);
    }
 
    /**
     * Prepend to a file.
     *
     * @param  string  $path
     * @param  string  $data
     * @return int
     */
    public function prepend($path, $data)
    {
        if ($this->exists($path)) {
            return $this->put($path, $data.$this->get($path));
        }
 
        return $this->put($path, $data);
    }
 
    /**
     * Append to a file.
Arguments
  1. "file_put_contents(/home/bizsale/storage/framework/sessions/vSD4kOLneDOJ6dtWPef0iJ6r5IejXzf4HKTPsiJm): failed to open stream: No space left on device"
    
/
home
/
bizsale
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Filesystem
/
Filesystem.php
     *
     * @param  string  $path
     * @return string
     */
    public function hash($path)
    {
        return md5_file($path);
    }
 
    /**
     * Write the contents of a file.
     *
     * @param  string  $path
     * @param  string  $contents
     * @param  bool  $lock
     * @return int
     */
    public function put($path, $contents, $lock = false)
    {
        return file_put_contents($path, $contents, $lock ? LOCK_EX : 0);
    }
 
    /**
     * Prepend to a file.
     *
     * @param  string  $path
     * @param  string  $data
     * @return int
     */
    public function prepend($path, $data)
    {
        if ($this->exists($path)) {
            return $this->put($path, $data.$this->get($path));
        }
 
        return $this->put($path, $data);
    }
 
    /**
     * Append to a file.
Arguments
  1. "/home/bizsale/storage/framework/sessions/vSD4kOLneDOJ6dtWPef0iJ6r5IejXzf4HKTPsiJm"
    
  2. "a:3:{s:6:"_token";s:40:"JHRVR1SsqGYZsEeo2u6rppCE8AIQchhjpbKBfF5T";s:9:"_previous";a:1:{s:3:"url";s:82:"https://w.workfromhome.co.uk/Blogs/independent-bookshops-looking-for-buyers-178738";}s:6:"_flash";a:2:{s:3:"old";a:0:{}s:3:"new";a:0:{}}}"
    
  3. 2
    
/
home
/
bizsale
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Session
/
FileSessionHandler.php
    /**
     * {@inheritdoc}
     */
    public function read($sessionId)
    {
        if ($this->files->exists($path = $this->path.'/'.$sessionId)) {
            if (filemtime($path) >= Carbon::now()->subMinutes($this->minutes)->getTimestamp()) {
                return $this->files->get($path, true);
            }
        }
 
        return '';
    }
 
    /**
     * {@inheritdoc}
     */
    public function write($sessionId, $data)
    {
        $this->files->put($this->path.'/'.$sessionId, $data, true);
 
        return true;
    }
 
    /**
     * {@inheritdoc}
     */
    public function destroy($sessionId)
    {
        $this->files->delete($this->path.'/'.$sessionId);
 
        return true;
    }
 
    /**
     * {@inheritdoc}
     */
    public function gc($lifetime)
    {
        $files = Finder::create()
Arguments
  1. "/home/bizsale/storage/framework/sessions/vSD4kOLneDOJ6dtWPef0iJ6r5IejXzf4HKTPsiJm"
    
  2. "a:3:{s:6:"_token";s:40:"JHRVR1SsqGYZsEeo2u6rppCE8AIQchhjpbKBfF5T";s:9:"_previous";a:1:{s:3:"url";s:82:"https://w.workfromhome.co.uk/Blogs/independent-bookshops-looking-for-buyers-178738";}s:6:"_flash";a:2:{s:3:"old";a:0:{}s:3:"new";a:0:{}}}"
    
  3. true
    
/
home
/
bizsale
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Session
/
Store.php
     *
     * @param  string  $data
     * @return string
     */
    protected function prepareForUnserialize($data)
    {
        return $data;
    }
 
    /**
     * Save the session data to storage.
     *
     * @return bool
     */
    public function save()
    {
        $this->ageFlashData();
 
        $this->handler->write($this->getId(), $this->prepareForStorage(
            serialize($this->attributes)
        ));
 
        $this->started = false;
    }
 
    /**
     * Prepare the serialized session data for storage.
     *
     * @param  string  $data
     * @return string
     */
    protected function prepareForStorage($data)
    {
        return $data;
    }
 
    /**
     * Age the flash data for the session.
     *
     * @return void
Arguments
  1. "vSD4kOLneDOJ6dtWPef0iJ6r5IejXzf4HKTPsiJm"
    
  2. "a:3:{s:6:"_token";s:40:"JHRVR1SsqGYZsEeo2u6rppCE8AIQchhjpbKBfF5T";s:9:"_previous";a:1:{s:3:"url";s:82:"https://w.workfromhome.co.uk/Blogs/independent-bookshops-looking-for-buyers-178738";}s:6:"_flash";a:2:{s:3:"old";a:0:{}s:3:"new";a:0:{}}}"
    
/
home
/
bizsale
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Session
/
Middleware
/
StartSession.php
        if ($this->sessionConfigured()) {
            $this->storeCurrentUrl($request, $session);
 
            $this->addCookieToResponse($response, $session);
        }
 
        return $response;
    }
 
    /**
     * Perform any final actions for the request lifecycle.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Symfony\Component\HttpFoundation\Response  $response
     * @return void
     */
    public function terminate($request, $response)
    {
        if ($this->sessionHandled && $this->sessionConfigured() && ! $this->usingCookieSessions()) {
            $this->manager->driver()->save();
        }
    }
 
    /**
     * Start the session for the given request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Contracts\Session\Session
     */
    protected function startSession(Request $request)
    {
        return tap($this->getSession($request), function ($session) use ($request) {
            $session->setRequestOnHandler($request);
 
            $session->start();
        });
    }
 
    /**
     * Get the session implementation from the manager.
/
home
/
bizsale
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Http
/
Kernel.php
     * @return void
     */
    protected function terminateMiddleware($request, $response)
    {
        $middlewares = $this->app->shouldSkipMiddleware() ? [] : array_merge(
            $this->gatherRouteMiddleware($request),
            $this->middleware
        );
 
        foreach ($middlewares as $middleware) {
            if (! is_string($middleware)) {
                continue;
            }
 
            list($name) = $this->parseMiddleware($middleware);
 
            $instance = $this->app->make($name);
 
            if (method_exists($instance, 'terminate')) {
                $instance->terminate($request, $response);
            }
        }
    }
 
    /**
     * Gather the route middleware for the given request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return array
     */
    protected function gatherRouteMiddleware($request)
    {
        if ($route = $request->route()) {
            return $this->router->gatherRouteMiddleware($route);
        }
 
        return [];
    }
 
    /**
Arguments
  1. Request {
      #json: null
      #convertedFiles: null
      #userResolver: Closure {
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider { …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application { …}
        }
      }
      #routeResolver: Closure {
        class: "Illuminate\Routing\Router"
        this: Router { …}
        use: {
          $route: Route { …}
        }
      }
      +attributes: ParameterBag {}
      +request: ParameterBag {#1}
      +query: ParameterBag {#1}
      +server: ServerBag {}
      +files: FileBag {}
      +cookies: ParameterBag {}
      +headers: HeaderBag {}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/Blogs/independent-bookshops-looking-for-buyers-178738"
      #requestUri: "/Blogs/independent-bookshops-looking-for-buyers-178738"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isClientIpsValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Response {}
    
/
home
/
bizsale
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Http
/
Kernel.php
     */
    protected function dispatchToRouter()
    {
        return function ($request) {
            $this->app->instance('request', $request);
 
            return $this->router->dispatch($request);
        };
    }
 
    /**
     * Call the terminate method on any terminable middleware.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Illuminate\Http\Response  $response
     * @return void
     */
    public function terminate($request, $response)
    {
        $this->terminateMiddleware($request, $response);
 
        $this->app->terminate();
    }
 
    /**
     * Call the terminate method on any terminable middleware.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Illuminate\Http\Response  $response
     * @return void
     */
    protected function terminateMiddleware($request, $response)
    {
        $middlewares = $this->app->shouldSkipMiddleware() ? [] : array_merge(
            $this->gatherRouteMiddleware($request),
            $this->middleware
        );
 
        foreach ($middlewares as $middleware) {
            if (! is_string($middleware)) {
Arguments
  1. Request {
      #json: null
      #convertedFiles: null
      #userResolver: Closure {
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider { …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application { …}
        }
      }
      #routeResolver: Closure {
        class: "Illuminate\Routing\Router"
        this: Router { …}
        use: {
          $route: Route { …}
        }
      }
      +attributes: ParameterBag {}
      +request: ParameterBag {#1}
      +query: ParameterBag {#1}
      +server: ServerBag {}
      +files: FileBag {}
      +cookies: ParameterBag {}
      +headers: HeaderBag {}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/Blogs/independent-bookshops-looking-for-buyers-178738"
      #requestUri: "/Blogs/independent-bookshops-looking-for-buyers-178738"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isClientIpsValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Response {}
    
/
home
/
bizsale
/
public_html
/
index.php
|--------------------------------------------------------------------------
| Run The Application
|--------------------------------------------------------------------------
|
| Once we have the application, we can handle the incoming request
| through the kernel, and send the associated response back to
| the client's browser allowing them to enjoy the creative
| and wonderful application we have prepared for them.
|
*/
 
$kernel = $app->make(Illuminate\Contracts\Http\Kernel::class);
 
$response = $kernel->handle(
    $request = Illuminate\Http\Request::capture()
);
 
$response->send();
 
$kernel->terminate($request, $response);
Arguments
  1. Request {
      #json: null
      #convertedFiles: null
      #userResolver: Closure {
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider { …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application { …}
        }
      }
      #routeResolver: Closure {
        class: "Illuminate\Routing\Router"
        this: Router { …}
        use: {
          $route: Route { …}
        }
      }
      +attributes: ParameterBag {}
      +request: ParameterBag {#1}
      +query: ParameterBag {#1}
      +server: ServerBag {}
      +files: FileBag {}
      +cookies: ParameterBag {}
      +headers: HeaderBag {}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/Blogs/independent-bookshops-looking-for-buyers-178738"
      #requestUri: "/Blogs/independent-bookshops-looking-for-buyers-178738"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isClientIpsValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Response {}
    

Environment & details:

empty
empty
empty
empty
empty
Key Value
TZ
"UTC"
REDIRECT_REDIRECT_UNIQUE_ID
"aj9bpY8ebOjIzdLoSWVGEQAAAA4"
REDIRECT_REDIRECT_SCRIPT_URL
"/Blogs/independent-bookshops-looking-for-buyers-178738"
REDIRECT_REDIRECT_SCRIPT_URI
"https://w.workfromhome.co.uk/Blogs/independent-bookshops-looking-for-buyers-178738"
REDIRECT_REDIRECT_HTTPS
"on"
REDIRECT_REDIRECT_SSL_TLS_SNI
"w.workfromhome.co.uk"
REDIRECT_REDIRECT_STATUS
"200"
REDIRECT_UNIQUE_ID
"aj9bpY8ebOjIzdLoSWVGEQAAAA4"
REDIRECT_SCRIPT_URL
"/Blogs/independent-bookshops-looking-for-buyers-178738"
REDIRECT_SCRIPT_URI
"https://w.workfromhome.co.uk/Blogs/independent-bookshops-looking-for-buyers-178738"
REDIRECT_HTTPS
"on"
REDIRECT_SSL_TLS_SNI
"w.workfromhome.co.uk"
REDIRECT_HANDLER
"application/x-httpd-ea-php71"
REDIRECT_STATUS
"200"
UNIQUE_ID
"aj9bpY8ebOjIzdLoSWVGEQAAAA4"
SCRIPT_URL
"/Blogs/independent-bookshops-looking-for-buyers-178738"
SCRIPT_URI
"https://w.workfromhome.co.uk/Blogs/independent-bookshops-looking-for-buyers-178738"
HTTPS
"on"
SSL_TLS_SNI
"w.workfromhome.co.uk"
HTTP_X_FORWARDED_FOR
"216.73.217.108"
HTTP_CF_RAY
"a121f2de1dbe8682-CMH"
HTTP_ACCEPT
"*/*"
HTTP_ACCEPT_ENCODING
"gzip, br"
HTTP_USER_AGENT
"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; [email protected])"
HTTP_CDN_LOOP
"cloudflare; loops=1"
HTTP_CF_IPCOUNTRY
"US"
HTTP_CF_VISITOR
"{"scheme":"https"}"
HTTP_X_FORWARDED_PROTO
"https"
HTTP_CONNECTION
"Keep-Alive"
HTTP_HOST
"w.workfromhome.co.uk"
HTTP_X_HTTPS
"1"
PATH
"/usr/local/jdk/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/usr/local/bin:/usr/X11R6/bin:/root/bin:/opt/bin"
SERVER_SIGNATURE
""
SERVER_SOFTWARE
"Apache"
SERVER_NAME
"w.workfromhome.co.uk"
SERVER_ADDR
"172.31.31.57"
SERVER_PORT
"443"
REMOTE_ADDR
"216.73.217.108"
DOCUMENT_ROOT
"/home/bizsale/public_html"
REQUEST_SCHEME
"https"
CONTEXT_PREFIX
"/cgi-sys"
CONTEXT_DOCUMENT_ROOT
"/usr/local/cpanel/cgi-sys/"
SERVER_ADMIN
"[email protected]"
SCRIPT_FILENAME
"/home/bizsale/public_html/index.php"
REMOTE_PORT
"12442"
REDIRECT_URL
"/index.php"
GATEWAY_INTERFACE
"CGI/1.1"
SERVER_PROTOCOL
"HTTP/1.1"
REQUEST_METHOD
"GET"
QUERY_STRING
""
REQUEST_URI
"/Blogs/independent-bookshops-looking-for-buyers-178738"
SCRIPT_NAME
"/index.php"
ORIG_SCRIPT_FILENAME
"/usr/local/cpanel/cgi-sys/ea-php71"
ORIG_PATH_INFO
"/index.php"
ORIG_PATH_TRANSLATED
"/home/bizsale/public_html/index.php"
ORIG_SCRIPT_NAME
"/cgi-sys/ea-php71"
PHP_SELF
"/index.php"
REQUEST_TIME_FLOAT
1782537125.0842
REQUEST_TIME
1782537125
argv
[]
argc
0
APP_NAME
"Laravel"
APP_ENV
"local"
APP_KEY
"base64:6coDXzCRsacXGmkPvjvAXO03DG2dJJdkX6rr1+rpvVg="
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
"bizsale_db"
DB_USERNAME
"bizsale_admin"
DB_PASSWORD
"+fUTe#g#3."
BROADCAST_DRIVER
"log"
CACHE_DRIVER
"file"
SESSION_DRIVER
"file"
SESSION_LIFETIME
"120"
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
""
EMAIL_TESTING
"true"
COMPANIESHOUSE_KEY
"u82ND42fnkdYxqCH945hvlmaflxDPIyT2sMcWLrj"
Key Value
APP_NAME
"Laravel"
APP_ENV
"local"
APP_KEY
"base64:6coDXzCRsacXGmkPvjvAXO03DG2dJJdkX6rr1+rpvVg="
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
"bizsale_db"
DB_USERNAME
"bizsale_admin"
DB_PASSWORD
"+fUTe#g#3."
BROADCAST_DRIVER
"log"
CACHE_DRIVER
"file"
SESSION_DRIVER
"file"
SESSION_LIFETIME
"120"
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
""
EMAIL_TESTING
"true"
COMPANIESHOUSE_KEY
"u82ND42fnkdYxqCH945hvlmaflxDPIyT2sMcWLrj"
0. Whoops\Handler\PrettyPageHandler