Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

< GDB >'s avatar

General advice >Database management system & hosting server

Hi,

TL:DR @bottom

I'm a newbie here, and am new to coding in general. This question is probably not really 'laravel' related more a general topic..

Just a quick background I've completed several courses on udemy and always used phpmyadmin (came with installation of mamp). I've been happy to use both mamp and phpmyadmin as it is what I used from the start.

After a course that learned to create your own mvc framework, I realised it would be logical to learn about a widely-used framework. Hence why I'm following the Laravel from Scratch course.

For a newbie, is was quite interesting to see that I need to use the Terminal to host my project instead of using MAMP (looks like mamp was a bit easier in that aspect, but no judging > i'm just a day in, will need to get used to it / learn the commands that I will have to type in terminal (instead of clicking a button :p)

Now this ^, and the course where we learn to connect to the database got me a little confused to how I need to access the phpmyadmin panel (normally accessible through mamp after launching the server).

Jeff quickly shows 3 different database management systems, but seems that there are a wide variety of possibilities to choose from. After reading about phpmyadmin, I came to the conclusion that it is often regarded as unsafe / not the best choice.

My questions :

TL:DR:

? "Is there any advantage to using Terminal to host a server" VS "is it fine to try and run it with mamp"

? Regarding the (sql) Database system, is this just mostly user preference (seems a bit like it looking on the web) or is there more to it? = Is it fine to just choose a random one, or should I give it a lot more though and maybe go for the most widely used one or ...?

0 likes
2 replies
automica's avatar
automica
Best Answer
Level 54

@gillesdeb when you write code, you should develop it on an environment as close to your live environment as possible.

local development is often done using a stack of PHP, Apache & MySQL, (or sometimes PHP, NGINX, MariaDB) Whether you install those natively (as you describe 'using Terminal to host a server') or via MAMP it amounts to the much same thing.

The issue with installing this locally is matching and locking your versions to match those of your remote. Eg you could be running PHP 7.4 locally and publish up to PHP 7.3 which could mean stuff doesn't work. Likewise you might have MySQL 5 locally and MySQL 8 on your remote.

To that ends, you can locally develop using virtual machines or docker instances. This allows you to lock versions in config and also run different versions of php / MySQL etc to your native installed versions and provides more consistency and reliability. You can also see performance improvements as you get less issues with DNS and memory usage.

I would recommend looking at homestead which uses vagrant https://laravel.com/docs/8.x/homestead

and https://github.com/sinnbeck/laravel-served for docker.

@sinnbeck is very active on laracasts and you'll see a number of threads explaining about the package here.

2 likes
< GDB >'s avatar

@automica thank you very much for the extensive feedback, really appreciated!! I'll definitely check out the suggestions.

Please or to participate in this conversation.