Safari Vehicle Hire in Rwanda
1 Day Rwanda Safari

Safari Vehicle Hire in Rwanda

Safari Overview

Our fleet of cars for hire in Rwanda consists of Toyota Land Cruiser and Land Rover vehicles, both reliable 4×4 cars widely used in Rwanda and perfect for self-drive tours. Be aware that these vehicles are not new. These sturdy vehicles are just right for the bush!

The longer you hire our Vehicle(s)  in East Africa, the cheaper the daily Car Rental Fleet Rate. You can have an international permit or the one from your country.

When you rent a Vehicle from Kim Tours, You will always be provided with exceptional Car Rental Services and well maintained Car Rental Fleets on different Car Rental Deals to the safari Destinations of your choice from Rwanda, Uganda, Tanzania and Kenya etc.

 

A) Our vehicles operating for self-driver in Rwanda.

 

  • •  > SELF DRIVE - Land cruiser Double Cab or Rooftop Tent - Camping Car. 

Each car is serviced at our workshop after every trip and we have a close network of upcountry workshops for minor onsite repairs. In the unlikely event that you have a breakdown, rest assured that we offer 24/7 Kim Tours safari car hire assistance and always have a replacement vehicle ready. Your ultimate all-terrain camping vehicle, the Land cruiser Double Cab with customized canopy has the largest storage space of the entire fleet. The booth has built in drawers, a 60L water tank and designated space for the electrical fridge and gas cooker. This Land cruiser has 4 window seats.  Can fit two rooftop tents, so perfect for families and friends. When one roof top tent is mounted, the 2 roof hatches can still be used. 4,2 diesel engine, manual, large 130L fuel tank, 2 spare tires, 60L water tank. NO A/C. Prices includes insurance, unlimited mileage, roadmap, Travel Guide. Price below include electrical fridge, camp gear(s), but except driver guide.

 

  • • > SELF DRIVE - Land cruiser Hardtop with pop-up roof - Safari Car.

Your safari classic: the Land cruiser Hardtop with pop-up roof. No wildlife remains unnoticed from this viewpoint. This vehicle has six window seats. When camping, we take out the last row, and the car can accommodate 7 persons without camp gear or 5 persons with camp gear and luggage. Manual, Diesel, 2x 80 Litre 2 spare tires. Fuel consumption is around 7 km/liter. Note it has no A/C. Possible to rent with electrical fridge and rooftop tent. When equipped with a rooftop tent, it’s NOT possible to use the pop up roof. Price below does not include camp gear(s) and driver guide.

 

  • • > SELF DRIVE – Land Rover Discovery/Prado/Nissan/Rav4.

The Land Rover Discovery/Prado/Nissan/Rav4 is a sporty, compact and robust 4WD. The car is also easy and economical to drive, giving you the best value for money. It’s Manual, in permanent four-wheel drive. NO A/C.

Fuel consumption is very low compared to other 4×4 models: around 10-12 km/liter. Diseal costs between $1 – $1.30. The Land Rover Discovery can fit up to five people, or four people with camping gear. The Land Rover Discovery/Prado/Nissan/Rav4 cannot be equipped with a rooftop tent or fridge, but you can hire a ground tent. For these rough roads, the Land cruiser is required. Price below does not include camp gear(s) and driver guide.

NOTE: Kim’zebra has Toyota Land Cruiser 4×4 Standard and Extended Safari cars, a range of city tours and airport ground transfer cars such as Alphards / Noahs / Saloons / Mini buses / Coasters with free WiFi access for our guests (Available in East Africa).

  • Standard Safari Land Cruisers can be hired as a Self-Drive Safari or Guided Game Drive Safari with one of our experienced driver / guides - (Driver Hire Payable Extra) $20 - $50 Per day – this also covers his meals and accommodation. 
  • Extended Safari Land Cruisers can only be hired as a Guided Game Drive Safari with one of our experienced driver / guides - (Driver Hire Payable Extra) $20 - $50 Per day – this also covers his meals and accommodation. 
     

B) Car rental add ons: camping gear and driver-guides.

 

  • • • > Rent a Cruiser with camping gear or with Land Cruiser Double Cab or Rooftop Tent - Camping Car

Rwanda is a great country for camping as there are so many campsites, ranging from basic bush sites inside the national parks to private campsites that come with a restaurant and swimming pool. We can equip the Land cruiser with a rooftop tent and/or electrical fridge, or you can hire a dome tent. Both options come with fully equipped quality camping gear, including sleeping bags, headlights, cooking equipment, table, chairs and everything else you’ll need on your camping tour of Rwanda.

 

Camp gear set with ground tent     $20 pp/day
1 rooftop tent with camp gear for max. 2 people     $50 per day
2 rooftop tents with camp gear set for 3-4 people     $70 per day
Electrical fridge     $10 per day

 

All of our drivers are experienced, helpful and most of all pleasant company. He will also do the game drives in the parks. The cost of hiring a driver is $20-50 per day – this also covers his meals and accommodation. You don’t need to arrange accommodation for him, as the lodges have facilities for the driver-guides. When you travel into a national park with a driver, you will also have to pay their entrance fee of $3 to 4 per day, depending on the park. The driver is responsible for the well being of the car, and the security bond will no longer apply. If you’re taking a driver with you into the national parks, the Rwanda National Parks Authority requires you to have your entrance permits paid in advance, so you won’t be able to just decide on the fly. If you book a car with a driver, Kim'zebra Adventures & safaris Ltd will help by arranging the required park entrance permits for you in advance.


1 Day

Rwanda
Safari in Rwanda


Budget Safari

DAY 1

Rent a Cruiser with Driver Guide or Self-Drive Safari

Rent a Self drive - Cruiser Hardtop with Pop-up Roof (Max 8-Pax)

Rent a Self drive - Cruiser Hardtop with Pop-up Roof (Max 6-Pax)

Rent a driver in Rwanda - Cruiser Hardtop with Pop-up Roof (Max 7-Pax)

Rent a driver in Rwanda - Cruiser Hardtop with Pop-up Roof (Max 5-Pax)

Suggested Accommodations

We have no accommodations for this tour, Contact us for further details. We provide 4×4 safari vehicle hire and rental. We have a fleet of 30 (4 x 4 safari land cruisers) and safari customized vans for hire. Each vehicle is accompanied by an experienced safari guide who is also a professional driver. Our vehicle licenses require the car to be driven by our driver guides. This is because the vehicles are licensed as tour service vehicles (TSV) under Rwanda Laws. Therefore, our experienced safari driver guides must drive the cars with the necessary tour guide license. Our guides have between 10 and 25 years of experience guiding wildlife safaris. We can also assist you in booking your hotels and arranging your safari itinerary. The service can be included as part of your safari vehicle hire at no extra cost. If you need a self-driving car hire vehicle, we can help you.

 

4×4 Safari Vehicle Hire – Car Rental for Safari Customized 4×4 Land Cruisers, Jeeps, and Safari Vans

We have a wide range of safari vehicles that can withstand all-terrain. Vehicles include safari mini-vans with a top hatch for easy game viewing, 4 x 4 all-terrain safari land cruisers, and 25 seat shuttle buses for groups. All our safari vehicles are customized for the rough safari terrain and are well serviced and in excellent condition to ensure they do not break down when you are on your safari in Rwanda. The safari vehicles are also fitted with long-range high-frequency radio so that driver-guides can communicate in parks when searching for wildlife on game drives. We can also assist you in planning your safari in Rwanda at no extra cost, even when all you need is to hire a safari vehicle. We will advise on the best places to visit depending on the safari season and the most appropriate places to stay when in or near parks for the best safari experience. We can also help you book accommodation and advise on park fee payments, and if it’s all too much work, we can arrange the whole safari for you as a package depending on your requirements. We will work together to ensure you get the best experience possible when planning and when on your safari in Rwanda.

Types of Safari Vehicles Available for Hire

There are Seven types of vehicles available for hire for your safari in Rwanda. These are :-

◇Eight seat 4×4 Land Cruisers

◇Seven seat 4×4 Land Cruisers

◇Six seat 4×4 Land Cruisers

◇Five seat 4×4 Land Cruisers

◇Four seat 4×4 Land Cruisers

◇Eight seat safari vans

◇25 seat shuttle buses

Each vehicle has its advantages and use. Groups mainly use the shuttle buses for transfers within cities since they are not made for rough terrain. The other four types of vehicles are specially made for safari and have pop-up roofs which open up vertically to ensure you can stand on a game drive and take photos of animals and birds while in national parks and game reserves. They have large slide windows that you can open and enjoy your game drive in the park if you get tired of standing to use the pop-up roof. Some seven and five seat Land Cruisers are also customized specially for wildlife photography. They have canvas roll-up windows which, your driver-guide will roll up before a game drive for an expansive view and easy manipulation of your cameras (especially with long photography lenses!) when taking photos. These vehicles are ideal for wildlife photography safaris. Note bean bags can be provided free of charge – on request – if you need one to stabilize your camera when taking photos.

 

Toyota Land Cruiser (4 wheel drive) – 4 to 8 seat safari customized 4×4 Land Cruisers and Jeeps

– Safari vehicle hire rate per day is US$ 200-400 without fuel and park entry fees for the vehicle and driver-guide.

– Vehicle seats either eight or seven passengers comfortably. Each person has a window seat in the seven-seat vehicle. One person in the eight-seat vehicle occupies the middle seat at the back.

– The vehicle is customized for safari. It has a pop-up roof and has special shock absorbers for game viewing and photography.

– Vehicles are driven by a professional safari guide with between 10 – 25 years of experience guiding wildlife safaris

– We provide a free airport pick up and drop off if the airport pick up and drop off is on the same days as your safari

– The price given does not include fuel and does not include park entry fees for the vehicle and driver-guide (for self drive package, driver-guide included by extra costs $20-$50). We can help you calculate this.

– The vehicle is ideal for any group between 8 – 4 people travelling together.

– Every passenger has a window seat to spot wildlife (except in the eighth so that seat, where one passenger has to use the pop-up roof)

– The vehicle has a large pop-up roof to view wildlife and for photography

– The 4×4 Land Cruiser vehicle has a total of two diesel tanks, so it can cover long distances without refueling

– The vehicles are customized with a long extended chassis that allows for good legroom for all passengers

– Vehicles have comfortable seats that recline

– We have customized the vehicles with a specially customized load compensating suspension system for smoother rides on rough roads

– The vehicle has High-Frequency Radio that allows the guide to collaborate with other guides when searching for wildlife.

– All safari vehicles have two spare wheels

– They also have four doors that open wide for easy access

– Wi-Fi can be provided at no extra cost on request

The Tour Price Includes


  • Car insurance
  • 24/7 phone assist
  • Roadmap and Travel Guide
  • Comprehensive car insurance
  • Unlimited kilometers, no hidden costs!
  • Radio Call for emergencies at any time
  • Radio with port for your USB or mini jack
  • 8 setter Safari vehicle has 6 windows seats (in the passenger cabin) and 1 window seat next to the driver (in front)- 4×4 Land Cruiser Hardtop with pop-up roof - Safari Car for max 7Clients + 1Driver 
  • 6 setter Safari vehicle has 4 windows seats (in the passenger cabin) and 1 window seat next to the driver (in front)- 4×4 Land Cruiser Hardtop with pop-up roof - Safari Car for max 5Clients + 1Drive 
  • 4 setter Safari vehicle has 2 windows seats (in the passenger cabin) and 1 window seat next to the driver (in front) - 4×4 Land Cruiser Double Cab or 2 Rooftop tent - Camping Car for max 4Clients 
  • 4 setter Safari vehicle has 2 windows seats (in the passenger cabin) and 1 window seat next to the driver (in front) - 4×4 Land Cruiser Double Cab or 1 Rooftop tent - Camping Car for max 2Clients 

The Tour Price Excludes


  • Personal Cook: USD 20 per day
  • Electrical fridge: USD 10 per day
  • Airport transfers: USD 50 per way
  • Driver-Guide fees: USD 20 per day
  • Rwanda National Parks permits: USD 60-80 per person per day.
  • Accommodation: Standard Lodge USD 200-250 per room per night.
  • Camp gear set with ground tent: USD 20 per tent per day.
  • Camping gear: 1 Rooftop tent USD 50, 2 Rooftop tent USD 70 per tent per day. (No need to pay if you choose 4×4 Land Cruiser Double Cab or Rooftop tent)
  • Tips for the crew. We recommend a tip of 25 USD per day for your guide to be divided between each member of your group.
  • Optional Rwanda Gorilla Habituation Tour permit US$1,500 per person per trek
  • Optional Rwanda Gorilla Trekking Tour permit US$1,500 per person per trek
  • Optional Rwanda Chimpanzee Tracking Tour permit US$200 per person per trek
  • Inoculations and personal insurance (e.g. Rwanda Visa, Travel, Medical and Baggage insurance, A doctor for the group, Laundry, Souvenirs, Telephone, Beverages (available to purchase) and all other services that are not mentioned as included.
Whoops! There was an error.
ErrorException (E_NOTICE)
fwrite(): write of 1821 bytes failed with errno=122 Disk quota exceeded ErrorException thrown with message "fwrite(): write of 1821 bytes failed with errno=122 Disk quota exceeded" Stacktrace: #11 ErrorException in /home2/kimtours/theapp/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php:131 #10 fwrite in /home2/kimtours/theapp/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php:131 #9 Monolog\Handler\StreamHandler:streamWrite in /home2/kimtours/theapp/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php:117 #8 Monolog\Handler\StreamHandler:write in /home2/kimtours/theapp/vendor/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php:39 #7 Monolog\Handler\AbstractProcessingHandler:handle in /home2/kimtours/theapp/vendor/monolog/monolog/src/Monolog/Logger.php:344 #6 Monolog\Logger:addRecord in /home2/kimtours/theapp/vendor/monolog/monolog/src/Monolog/Logger.php:712 #5 Monolog\Logger:error in /home2/kimtours/theapp/vendor/laravel/framework/src/Illuminate/Log/Writer.php:203 #4 Illuminate\Log\Writer:writeLog in /home2/kimtours/theapp/vendor/laravel/framework/src/Illuminate/Log/Writer.php:114 #3 Illuminate\Log\Writer:error in /home2/kimtours/theapp/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php:113 #2 Illuminate\Foundation\Exceptions\Handler:report in /home2/kimtours/theapp/app/Exceptions/Handler.php:39 #1 App\Exceptions\Handler:report in /home2/kimtours/theapp/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php:81 #0 Illuminate\Foundation\Bootstrap\HandleExceptions:handleException in [internal]:0
11
ErrorException
/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php131
10
fwrite
/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php131
9
Monolog\Handler\StreamHandler streamWrite
/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php117
8
Monolog\Handler\StreamHandler write
/vendor/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php39
7
Monolog\Handler\AbstractProcessingHandler handle
/vendor/monolog/monolog/src/Monolog/Logger.php344
6
Monolog\Logger addRecord
/vendor/monolog/monolog/src/Monolog/Logger.php712
5
Monolog\Logger error
/vendor/laravel/framework/src/Illuminate/Log/Writer.php203
4
Illuminate\Log\Writer writeLog
/vendor/laravel/framework/src/Illuminate/Log/Writer.php114
3
Illuminate\Log\Writer error
/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php113
2
Illuminate\Foundation\Exceptions\Handler report
/app/Exceptions/Handler.php39
1
App\Exceptions\Handler report
/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php81
0
Illuminate\Foundation\Bootstrap\HandleExceptions handleException
[internal]0
/home2/kimtours/theapp/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php
        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
     */
    protected function streamWrite($stream, array $record)
    {
        fwrite($stream, (string) $record['formatted']);
    }
 
    private function customErrorHandler($code, $msg)
    {
        $this->errorMessage = preg_replace('{^(fopen|mkdir)\(.*?\): }', '', $msg);
    }
 
    /**
     * @param string $stream
     *
     * @return null|string
     */
    private function getDirFromStream($stream)
    {
        $pos = strpos($stream, '://');
        if ($pos === false) {
            return dirname($stream);
        }
 
        if ('file://' === substr($stream, 0, 7)) {
Arguments
  1. "fwrite(): write of 1821 bytes failed with errno=122 Disk quota exceeded"
    
/home2/kimtours/theapp/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php
        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
     */
    protected function streamWrite($stream, array $record)
    {
        fwrite($stream, (string) $record['formatted']);
    }
 
    private function customErrorHandler($code, $msg)
    {
        $this->errorMessage = preg_replace('{^(fopen|mkdir)\(.*?\): }', '', $msg);
    }
 
    /**
     * @param string $stream
     *
     * @return null|string
     */
    private function getDirFromStream($stream)
    {
        $pos = strpos($stream, '://');
        if ($pos === false) {
            return dirname($stream);
        }
 
        if ('file://' === substr($stream, 0, 7)) {
Arguments
  1. stream resource @7
      timed_out: false
      blocked: true
      eof: false
      wrapper_type: "plainfile"
      stream_type: "STDIO"
      mode: "a"
      unread_bytes: 0
      seekable: true
      uri: "/home2/kimtours/theapp/storage/logs/laravel.log"
      options: []
    }
    
  2. """
    [2025-06-10 22:13:06] local.ERROR: file_put_contents(): write of 214 bytes failed with errno=122 Disk quota exceeded {"exception":"[object] (ErrorException(code: 0): file_put_contents(): write of 214 bytes failed with errno=122 Disk quota exceeded at /home2/kimtours/theapp/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:122)\n
    [stacktrace]\n
    #0 [internal function]: Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(8, 'file_put_conten...', '/home2/kimtours...', 122, Array)\n
    #1 /home2/kimtours/theapp/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php(122): file_put_contents('/home2/kimtours...', 'a:3:{s:6:\"_toke...', 2)\n
    #2 /home2/kimtours/theapp/vendor/laravel/framework/src/Illuminate/Session/FileSessionHandler.php(83): Illuminate\\Filesystem\\Filesystem->put('/home2/kimtours...', 'a:3:{s:6:\"_toke...', true)\n
    #3 /home2/kimtours/theapp/vendor/laravel/framework/src/Illuminate/Session/Store.php(128): Illuminate\\Session\\FileSessionHandler->write('t93pDOj56EwYVrP...', 'a:3:{s:6:\"_toke...')\n
    #4 /home2/kimtours/theapp/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(87): Illuminate\\Session\\Store->save()\n
    #5 /home2/kimtours/theapp/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(218): Illuminate\\Session\\Middleware\\StartSession->terminate(Object(Illuminate\\Http\\Request), Object(Illuminate\\Http\\Response))\n
    #6 /home2/kimtours/theapp/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(189): Illuminate\\Foundation\\Http\\Kernel->terminateMiddleware(Object(Illuminate\\Http\\Request), Object(Illuminate\\Http\\Response))\n
    #7 /home2/kimtours/public_html/index.php(60): Illuminate\\Foundation\\Http\\Kernel->terminate(Object(Illuminate\\Http\\Request), Object(Illuminate\\Http\\Response))\n
    #8 {main}\n
    "} \n
    """
    
/home2/kimtours/theapp/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php
            $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
     */
    protected function streamWrite($stream, array $record)
    {
        fwrite($stream, (string) $record['formatted']);
    }
 
    private function customErrorHandler($code, $msg)
    {
        $this->errorMessage = preg_replace('{^(fopen|mkdir)\(.*?\): }', '', $msg);
    }
Arguments
  1. stream resource @7
      timed_out: false
      blocked: true
      eof: false
      wrapper_type: "plainfile"
      stream_type: "STDIO"
      mode: "a"
      unread_bytes: 0
      seekable: true
      uri: "/home2/kimtours/theapp/storage/logs/laravel.log"
      options: []
    }
    
  2. array:8 [
      "message" => "file_put_contents(): write of 214 bytes failed with errno=122 Disk quota exceeded"
      "context" => array:1 [
        "exception" => ErrorException {
          #message: "file_put_contents(): write of 214 bytes failed with errno=122 Disk quota exceeded"
          #code: 0
          #file: "/home2/kimtours/theapp/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php"
          #line: 122
          #severity: E_NOTICE
        }
      ]
      "level" => 400
      "level_name" => "ERROR"
      "channel" => "local"
      "datetime" => DateTime @1749593586 {
        date: 2025-06-10 22:13:06.315127 UTC (+00:00)
      }
      "extra" => []
      "formatted" => """
        [2025-06-10 22:13:06] local.ERROR: file_put_contents(): write of 214 bytes failed with errno=122 Disk quota exceeded {"exception":"[object] (ErrorException(code: 0): file_put_contents(): write of 214 bytes failed with errno=122 Disk quota exceeded at /home2/kimtours/theapp/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:122)\n
        [stacktrace]\n
        #0 [internal function]: Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(8, 'file_put_conten...', '/home2/kimtours...', 122, Array)\n
        #1 /home2/kimtours/theapp/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php(122): file_put_contents('/home2/kimtours...', 'a:3:{s:6:\"_toke...', 2)\n
        #2 /home2/kimtours/theapp/vendor/laravel/framework/src/Illuminate/Session/FileSessionHandler.php(83): Illuminate\\Filesystem\\Filesystem->put('/home2/kimtours...', 'a:3:{s:6:\"_toke...', true)\n
        #3 /home2/kimtours/theapp/vendor/laravel/framework/src/Illuminate/Session/Store.php(128): Illuminate\\Session\\FileSessionHandler->write('t93pDOj56EwYVrP...', 'a:3:{s:6:\"_toke...')\n
        #4 /home2/kimtours/theapp/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(87): Illuminate\\Session\\Store->save()\n
        #5 /home2/kimtours/theapp/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(218): Illuminate\\Session\\Middleware\\StartSession->terminate(Object(Illuminate\\Http\\Request), Object(Illuminate\\Http\\Response))\n
        #6 /home2/kimtours/theapp/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(189): Illuminate\\Foundation\\Http\\Kernel->terminateMiddleware(Object(Illuminate\\Http\\Request), Object(Illuminate\\Http\\Response))\n
        #7 /home2/kimtours/public_html/index.php(60): Illuminate\\Foundation\\Http\\Kernel->terminate(Object(Illuminate\\Http\\Request), Object(Illuminate\\Http\\Response))\n
        #8 {main}\n
        "} \n
        """
    ]
    
/home2/kimtours/theapp/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)
    {
Arguments
  1. array:8 [
      "message" => "file_put_contents(): write of 214 bytes failed with errno=122 Disk quota exceeded"
      "context" => array:1 [
        "exception" => ErrorException {
          #message: "file_put_contents(): write of 214 bytes failed with errno=122 Disk quota exceeded"
          #code: 0
          #file: "/home2/kimtours/theapp/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php"
          #line: 122
          #severity: E_NOTICE
        }
      ]
      "level" => 400
      "level_name" => "ERROR"
      "channel" => "local"
      "datetime" => DateTime @1749593586 {
        date: 2025-06-10 22:13:06.315127 UTC (+00:00)
      }
      "extra" => []
      "formatted" => """
        [2025-06-10 22:13:06] local.ERROR: file_put_contents(): write of 214 bytes failed with errno=122 Disk quota exceeded {"exception":"[object] (ErrorException(code: 0): file_put_contents(): write of 214 bytes failed with errno=122 Disk quota exceeded at /home2/kimtours/theapp/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:122)\n
        [stacktrace]\n
        #0 [internal function]: Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(8, 'file_put_conten...', '/home2/kimtours...', 122, Array)\n
        #1 /home2/kimtours/theapp/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php(122): file_put_contents('/home2/kimtours...', 'a:3:{s:6:\"_toke...', 2)\n
        #2 /home2/kimtours/theapp/vendor/laravel/framework/src/Illuminate/Session/FileSessionHandler.php(83): Illuminate\\Filesystem\\Filesystem->put('/home2/kimtours...', 'a:3:{s:6:\"_toke...', true)\n
        #3 /home2/kimtours/theapp/vendor/laravel/framework/src/Illuminate/Session/Store.php(128): Illuminate\\Session\\FileSessionHandler->write('t93pDOj56EwYVrP...', 'a:3:{s:6:\"_toke...')\n
        #4 /home2/kimtours/theapp/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(87): Illuminate\\Session\\Store->save()\n
        #5 /home2/kimtours/theapp/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(218): Illuminate\\Session\\Middleware\\StartSession->terminate(Object(Illuminate\\Http\\Request), Object(Illuminate\\Http\\Response))\n
        #6 /home2/kimtours/theapp/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(189): Illuminate\\Foundation\\Http\\Kernel->terminateMiddleware(Object(Illuminate\\Http\\Request), Object(Illuminate\\Http\\Response))\n
        #7 /home2/kimtours/public_html/index.php(60): Illuminate\\Foundation\\Http\\Kernel->terminate(Object(Illuminate\\Http\\Request), Object(Illuminate\\Http\\Response))\n
        #8 {main}\n
        "} \n
        """
    ]
    
/home2/kimtours/theapp/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
Arguments
  1. array:8 [
      "message" => "file_put_contents(): write of 214 bytes failed with errno=122 Disk quota exceeded"
      "context" => array:1 [
        "exception" => ErrorException {
          #message: "file_put_contents(): write of 214 bytes failed with errno=122 Disk quota exceeded"
          #code: 0
          #file: "/home2/kimtours/theapp/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php"
          #line: 122
          #severity: E_NOTICE
        }
      ]
      "level" => 400
      "level_name" => "ERROR"
      "channel" => "local"
      "datetime" => DateTime @1749593586 {
        date: 2025-06-10 22:13:06.315127 UTC (+00:00)
      }
      "extra" => []
      "formatted" => """
        [2025-06-10 22:13:06] local.ERROR: file_put_contents(): write of 214 bytes failed with errno=122 Disk quota exceeded {"exception":"[object] (ErrorException(code: 0): file_put_contents(): write of 214 bytes failed with errno=122 Disk quota exceeded at /home2/kimtours/theapp/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:122)\n
        [stacktrace]\n
        #0 [internal function]: Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError(8, 'file_put_conten...', '/home2/kimtours...', 122, Array)\n
        #1 /home2/kimtours/theapp/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php(122): file_put_contents('/home2/kimtours...', 'a:3:{s:6:\"_toke...', 2)\n
        #2 /home2/kimtours/theapp/vendor/laravel/framework/src/Illuminate/Session/FileSessionHandler.php(83): Illuminate\\Filesystem\\Filesystem->put('/home2/kimtours...', 'a:3:{s:6:\"_toke...', true)\n
        #3 /home2/kimtours/theapp/vendor/laravel/framework/src/Illuminate/Session/Store.php(128): Illuminate\\Session\\FileSessionHandler->write('t93pDOj56EwYVrP...', 'a:3:{s:6:\"_toke...')\n
        #4 /home2/kimtours/theapp/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(87): Illuminate\\Session\\Store->save()\n
        #5 /home2/kimtours/theapp/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(218): Illuminate\\Session\\Middleware\\StartSession->terminate(Object(Illuminate\\Http\\Request), Object(Illuminate\\Http\\Response))\n
        #6 /home2/kimtours/theapp/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(189): Illuminate\\Foundation\\Http\\Kernel->terminateMiddleware(Object(Illuminate\\Http\\Request), Object(Illuminate\\Http\\Response))\n
        #7 /home2/kimtours/public_html/index.php(60): Illuminate\\Foundation\\Http\\Kernel->terminate(Object(Illuminate\\Http\\Request), Object(Illuminate\\Http\\Response))\n
        #8 {main}\n
        "} \n
        """
    ]
    
/home2/kimtours/theapp/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.
Arguments
  1. 400
    
  2. "file_put_contents(): write of 214 bytes failed with errno=122 Disk quota exceeded"
    
  3. array:1 [
      "exception" => ErrorException {
        #message: "file_put_contents(): write of 214 bytes failed with errno=122 Disk quota exceeded"
        #code: 0
        #file: "/home2/kimtours/theapp/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php"
        #line: 122
        #severity: E_NOTICE
      }
    ]
    
/home2/kimtours/theapp/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
Arguments
  1. "file_put_contents(): write of 214 bytes failed with errno=122 Disk quota exceeded"
    
  2. array:1 [
      "exception" => ErrorException {
        #message: "file_put_contents(): write of 214 bytes failed with errno=122 Disk quota exceeded"
        #code: 0
        #file: "/home2/kimtours/theapp/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php"
        #line: 122
        #severity: E_NOTICE
      }
    ]
    
/home2/kimtours/theapp/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
Arguments
  1. "error"
    
  2. "file_put_contents(): write of 214 bytes failed with errno=122 Disk quota exceeded"
    
  3. array:1 [
      "exception" => ErrorException {
        #message: "file_put_contents(): write of 214 bytes failed with errno=122 Disk quota exceeded"
        #code: 0
        #file: "/home2/kimtours/theapp/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php"
        #line: 122
        #severity: E_NOTICE
      }
    ]
    
/home2/kimtours/theapp/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
     */
Arguments
  1. "file_put_contents(): write of 214 bytes failed with errno=122 Disk quota exceeded"
    
  2. array:1 [
      "exception" => ErrorException {
        #message: "file_put_contents(): write of 214 bytes failed with errno=122 Disk quota exceeded"
        #code: 0
        #file: "/home2/kimtours/theapp/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php"
        #line: 122
        #severity: E_NOTICE
      }
    ]
    
/home2/kimtours/theapp/app/Exceptions/Handler.php
     * A list of the inputs that are never flashed for validation exceptions.
     *
     * @var array
     */
    protected $dontFlash = [
        'password',
        'password_confirmation',
    ];
 
    /**
     * 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);
    }
}
 
Arguments
  1. ErrorException {
      #message: "file_put_contents(): write of 214 bytes failed with errno=122 Disk quota exceeded"
      #code: 0
      #file: "/home2/kimtours/theapp/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php"
      #line: 122
      #severity: E_NOTICE
    }
    
/home2/kimtours/theapp/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);
Arguments
  1. ErrorException {
      #message: "file_put_contents(): write of 214 bytes failed with errno=122 Disk quota exceeded"
      #code: 0
      #file: "/home2/kimtours/theapp/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php"
      #line: 122
      #severity: E_NOTICE
    }
    
[internal]
Arguments
  1. ErrorException {
      #message: "file_put_contents(): write of 214 bytes failed with errno=122 Disk quota exceeded"
      #code: 0
      #file: "/home2/kimtours/theapp/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php"
      #line: 122
      #severity: E_NOTICE
    }
    

Environment & details:

empty
empty
empty
empty
empty
Key Value
LSPHP_ENABLE_USER_INI
"on"
PATH
"/usr/local/bin:/usr/bin:/bin"
TEMP
"/tmp"
TMP
"/tmp"
TMPDIR
"/tmp"
PWD
"/"
HTTP_ACCEPT
"*/*"
HTTP_ACCEPT_ENCODING
"gzip, br, zstd, deflate"
CONTENT_LENGTH
"0"
HTTP_HOST
"www.kim.tours"
HTTP_USER_AGENT
"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"
HTTP_X_HTTPS
"1"
REDIRECT_UNIQUE_ID
"aEit8vvbsMCx32qh2OMrUAAAwVo"
REDIRECT_QS_ConnectionId
"174959358605345498927115"
REDIRECT_SCRIPT_URL
"/tour/safari-vehicle-hire-in-rwanda"
REDIRECT_SCRIPT_URI
"https://www.kim.tours/tour/safari-vehicle-hire-in-rwanda"
REDIRECT_HTTPS
"on"
REDIRECT_SSL_TLS_SNI
"www.kim.tours"
REDIRECT_HTTP2
"on"
REDIRECT_H2PUSH
"off"
REDIRECT_H2_PUSH
"off"
REDIRECT_H2_PUSHED
""
REDIRECT_H2_PUSHED_ON
""
REDIRECT_H2_STREAM_ID
"3"
REDIRECT_H2_STREAM_TAG
"927115-1767-3"
REDIRECT_STATUS
"200"
UNIQUE_ID
"aEit8vvbsMCx32qh2OMrUAAAwVo"
QS_ConnectionId
"174959358605345498927115"
SCRIPT_URL
"/tour/safari-vehicle-hire-in-rwanda"
SCRIPT_URI
"https://www.kim.tours/tour/safari-vehicle-hire-in-rwanda"
HTTPS
"on"
SSL_TLS_SNI
"www.kim.tours"
HTTP2
"on"
H2PUSH
"off"
H2_PUSH
"off"
H2_PUSHED
""
H2_PUSHED_ON
""
H2_STREAM_ID
"3"
H2_STREAM_TAG
"927115-1767-3"
SERVER_SIGNATURE
""
SERVER_SOFTWARE
"Apache"
SERVER_NAME
"www.kim.tours"
SERVER_ADDR
"192.185.92.29"
SERVER_PORT
"443"
REMOTE_ADDR
"216.73.216.162"
DOCUMENT_ROOT
"/home2/kimtours/public_html"
REQUEST_SCHEME
"https"
CONTEXT_PREFIX
""
CONTEXT_DOCUMENT_ROOT
"/home2/kimtours/public_html"
SERVER_ADMIN
"webmaster@kim.tours"
SCRIPT_FILENAME
"/home2/kimtours/public_html/index.php"
REMOTE_PORT
"48511"
REDIRECT_URL
"/tour/safari-vehicle-hire-in-rwanda"
SERVER_PROTOCOL
"HTTP/2.0"
REQUEST_METHOD
"GET"
QUERY_STRING
""
REQUEST_URI
"/tour/safari-vehicle-hire-in-rwanda"
SCRIPT_NAME
"/index.php"
PHP_SELF
"/index.php"
REQUEST_TIME_FLOAT
1749593586.0614
REQUEST_TIME
1749593586
argv
[]
argc
0
APP_NAME
"Kim'zebra Adventures & Safaris"
APP_ENV
"local"
APP_KEY
"base64:B3WF9t8UARMSYbPts9CiehrwZw8seRi6wtrqlUxZC6g="
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
"kimtours_data"
DB_USERNAME
"kimtours_staff"
DB_PASSWORD
"123s_s321"
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
"mail.kim.tours"
MAIL_PORT
"465"
MAIL_USERNAME
"noreply@kim.tours"
MAIL_PASSWORD
"7wWq1n06tnUz"
MAIL_ENCRYPTION
"ssl"
PUSHER_APP_ID
""
PUSHER_APP_KEY
""
PUSHER_APP_SECRET
""
Key Value
APP_NAME
"Kim'zebra Adventures & Safaris"
APP_ENV
"local"
APP_KEY
"base64:B3WF9t8UARMSYbPts9CiehrwZw8seRi6wtrqlUxZC6g="
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
"kimtours_data"
DB_USERNAME
"kimtours_staff"
DB_PASSWORD
"123s_s321"
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
"mail.kim.tours"
MAIL_PORT
"465"
MAIL_USERNAME
"noreply@kim.tours"
MAIL_PASSWORD
"7wWq1n06tnUz"
MAIL_ENCRYPTION
"ssl"
PUSHER_APP_ID
""
PUSHER_APP_KEY
""
PUSHER_APP_SECRET
""
0. Whoops\Handler\PrettyPageHandler