Category: Laravel

Using Swoole PHP 7.2 Docker image

We all read about Swoole in Laravel-news article, and the results they provided looks nice, this pushed me to create a new Docker image which has PHP 7.2 CLI and Swoole complied with it directly.

In this article am going to show you how you can use it with a simple lumen application, and show you the results I got from using Swoole comparing to using nginx.

1. Creating Lumen Project

First of all, let’s create a simple Lumen project

2. Install Required Packages

Secondly, we need to install the lumen package for Swoole, and made small change

Continue reading

Filed under: Code, docker, Laravel, Nginx, PHP

Installing PHP7.2 with brew on Mac, The new way

Now that homebrew has fully deprecated the old PHP channel and merged everything within the code, things have changed. Before you were able to install anything using a command like brew install php-<package> but now it won’t work anymore.

The new way is simple and easy (not), so follow me:

* First, you will need to make sure the old taps or anything old you have (maybe just moves them to another directory).

* Second, update and clean up your brew installation, run those commands for example:

and fix any issue you see.

* Install PHP via brew by running brew install php which will install PHP 7.2 by default.

* Now the annoying part (for me), which I can’t blame them for it nor I can say anything about, is installing xdebug with pecl , that’s correct we are back to use pecl again

After that running php -v will complain about not finding xdebug and that’s because PHP load the extensions from a directory while PECL installs them in a different one.

In my case PHP loads them from the following path

And PECL installs them at the following path

My simple solution was to symbolic xdebug file to the path that PHP load by running

So my advice for you is to read the log correctly, as this will help you a lot and spare you a lot of time. Also,

remember to run php -m before installing anything.

Filed under: Code, Laravel, PHP

New Chatbot project for fun

In the past few days, I decided to try something new so I started to play with bots and created this nice little guy here.

The idea of the project is simple, you ask him about the price of any crypto currency and he will reply back, you can even specify the equivalent currency that you want.

Here is a small video about it.

Let me know what do you think.

Am not going to release it for public yet, first I need to build a good infrastructure for it

Filed under: Code, Laravel, Linux, Other, Personal, PHP, Video

Running Laravel Dusk tests on Bitbucket, the easy way

So today I was trying to run and see if I can manage to get Laravel dusk to run on Bitbucket pipelines, and after too many tests, I was able to do so \(^ ^)/.

In this post I’ll explain the minimum requirements you need to do that, to make things simple, I created a docker image based on PHP 7.2 that you can use directly.

Configure your Laravel project:

After installing Laravel and Laravel dusk (you can read all about it on the docs), you can create a new environment file called .env.dusk which contain the following:

Continue reading

Filed under: Code, docker, Laravel, Linux, PHP

[Tip] Connect to multiple databases on the Fly with Lumen

Its not always an easy way to connect to different database if the configuration files does not include any information about it, in older version it was even a tricky one, especially if you have a bit of relationship that you want to use.

Don’t understand from my words that you cant do that, but it was not a direct use of setConnection , from my memory, the setConnection function used to force the connection on the current model only not the children nor any other one that it has a relationship with, when the info for this connection was not part of the database config file.

Things has changed and now in Lumen 5.5 (I didn’t try it with older version), as now you can use the function on to enforce the connection on the Model and any relationship it needs. like the following:

Create a base Model and create a function within called mergeConnections:

Continue reading

Filed under: Code, Laravel, PHP