Laravel

Laravel is a nice modern PHP framework by Tayler Otwell, read more about it at http://laravel.com

Proton VPN dev

ProtonVPN Local Dev Environment Breaks (e.g. Laravel Herd, Valet) – FIX

If you’ve ever turned on ProtonVPN and suddenly your local development sites stopped working, you’re not alone. This is a surprisingly common issue for developers using tools like Laravel Herd, Laravel Valet, Docker-based dev servers, or even plain old localhost. In my case, Laravel Herd instantly stopped responding the moment ProtonVPN connected. The fix turned out to be simple — but […]

ProtonVPN Local Dev Environment Breaks (e.g. Laravel Herd, Valet) – FIX Read More »

mailbox sandbox

Dummy & Fake SMTP Sandbox Email Apps: An Overview for Developers and Testers

Email is a core feature in many applications—account verification, password resets, system alerts, and notifications all depend on it. During development and testing, however, sending real emails is risky and unnecessary. This is where dummy (or fake) SMTP mailer apps become invaluable. Dummy SMTP tools simulate an SMTP server so your application can send emails

Dummy & Fake SMTP Sandbox Email Apps: An Overview for Developers and Testers Read More »

Matrix movie still

Storing JSON in .env Files: A Laravel Developer’s Guide to Managing Google Service Account Keys

When working with Laravel and Google Cloud services, you’ll often need to manage service account credentials that come as JSON files. These credentials are sensitive and shouldn’t be committed to version control, making .env files the natural choice for storage. However, .env files are designed for simple key-value pairs, not complex JSON structures. Let’s explore the best practices for

Storing JSON in .env Files: A Laravel Developer’s Guide to Managing Google Service Account Keys Read More »

Laravel Forge Bunny CDN

Setting Up CDN with Laravel Forge: A Complete Production Guide

In this guide, I’ll walk you through setting up Bunny CDN in front of your Laravel application hosted on Forge (or whatever server), while maintaining Let’s Encrypt SSL certificates and implementing proper security measures. The best part? The setup is surprisingly simple – requiring just a few DNS changes and a 5-line PHP redirect. No

Setting Up CDN with Laravel Forge: A Complete Production Guide Read More »

black Android smartphone

Fixing TypeError: array_replace_recursive(): Argument #2 must be of type array, int given in Laravel

Sometimes a harmless-looking view include can explode with a deep PHP error. Here’s the one I hit on PHP 8.3: TypeError array_replace_recursive(): Argument #2 must be of type array, int given resources/views/partials/xyz.blade.php:100 require In my case it was triggered while resolving a translation string via __(‘site.translation’). The root cause? A corrupted (actually deleted) translation file:

Fixing TypeError: array_replace_recursive(): Argument #2 must be of type array, int given in Laravel Read More »

black flat screen computer monitor

How I Fixed Missing SSL Certificates on Laravel Forge When /etc/nginx/ssl Was Empty

Recently, I encountered a rare issue on Laravel Forge where the /etc/nginx/ssl directory was almost empty — missing the usual domain directories and SSL certificates. Despite Forge’s SSL tab showing certificates should exist, the absence of actual cert files caused SSL errors on my site. What Happened? How I Fixed It When It Still Didn’t Work Sometimes,

How I Fixed Missing SSL Certificates on Laravel Forge When /etc/nginx/ssl Was Empty Read More »

black flat screen computer monitor

Laravel Query Duration Logger in Production – Debugbar alternative

Laravel Debugbar can’t run in production, because it will show all your queries to anyone. And restricting it to certain IP’s / email addresses is also difficult and easily exposes too much information. That’s why I’ve created a simple alternative logging script that shows similar information. Alternative: running your own query duration logger when logged

Laravel Query Duration Logger in Production – Debugbar alternative Read More »

Laravel Scout fixes

Troubleshooting Laravel Scout Import When No Records Appear in Search

Laravel Scout makes full-text searching easy, but sometimes running php artisan scout:import seems to work—showing batches of records being imported—yet when you check your search engine, there are 0 results. I ran into this issue myself and discovered it was due to a missing return statement in the toSearchableArray() method. However, there are multiple possible

Troubleshooting Laravel Scout Import When No Records Appear in Search Read More »

Close-up view of binoculars on a surface with sunset reflection in lenses.

Laravel Scout with Typesense Facet Filters

Laravel Scout provides a convenient way to integrate search functionality into your application, but when using Typesense, you might notice that facets aren’t included in the default search method. This article demonstrates how to properly add facet filters to your Typesense searches in Laravel Scout. Basic Implementation Here’s a simplified implementation that shows how to

Laravel Scout with Typesense Facet Filters Read More »

brown and silver telescope near body of water during daytime

Fix: Forbidden – a valid x-typesense-api-key header must be sent.

You might encounter the following error with Typesense in PHP / Laravel / Scout: While it seems like something is missing, it could also be, because the scope of your API key is too strict. When trying to create a key that has access to all scopes + all permissions, you can check if it

Fix: Forbidden – a valid x-typesense-api-key header must be sent. Read More »

en_USEnglish
Scroll to Top