Database
Valet – Laravel – Mysql – Phpmyadmin

Valet – Laravel – Mysql – Phpmyadmin

Here are some helpful tips that I have gathered while trying to install valet in my project. I faced so many problems just trying to use valet. But you don’t need to ?. I am going to share all what I have learn in this blog.

Update Valet Version

In order update valet version, you will need to remove it first. Below you can see the commands to remove it completely from your machine if you have already installed. It is good idea to remove it first because you might be using lower version of valet and thus facing lots of problem.

// To remove valet
composer global remove laravel/valet

PHP Version

I am using php version to 7.3 by using following command. You may use any version you want. Better if you use the latest one.

// To link php version to 7.3. You can link any php version you want.
brew link [email protected] --force --overwrite

// To update php version
brew upgrade php

// Now set to latest version. replace with latest version by x.
brew link [email protected] --force --overwrite

// Try these if you are stuck switching php versions.
brew uninstall php
brew uninstall [email protected]
brew uninstall [email protected]
brew uninstall [email protected]
brew cleanup
brew services cleanup
sudo brew services cleanup
brew doctor
brew update
brew install php
valet install

How to check which shell you are using?

You can type the following command in your terminal to see which shell you are using:

echo $0

PHP linking issue

You can link to any php version you want. It is always recommended to use the latest version. But sometime, you might need to downgrade it. So, here are the steps you can follow to link to different php version.

brew link [email protected] --force --overwrite
echo 'export PATH="/usr/local/opt/[email protected]/bin:$PATH"' >> ~/.bash_profile
echo 'export PATH="/usr/local/opt/[email protected]/sbin:$PATH"' >> ~/.bash_profile
source ~/.bash_profile

// See the list running starting with the work php.
brew list | grep php

// To see what are the services running.
// Make sure php is running.
brew services list
.base_profile file showing path added for [email protected]

Php Link Issue: Solution

If you get some issue like this php install php71 dyld: Library not loaded: /usr/local/opt/openldap/lib/libldap-2.4.2.dylib, then just run following commands.

brew update
brew upgrade

Other note:

  • If you encounter platform issue as follow, run composer global update
Fatal error: Composer detected issues in your platform: Your Composer dependencies require a PHP version ">= 8.0.2". You are running 7.4.27.

Installing Valet

Let’s install valet. Use the command mentioned below. Adding -vvv shows detail information what is going on with the installation. You can ignore -vvv if you don’t want to see in detail.

composer global require laravel/valet -vvv

// Install nginx too if you don’t have it.
brew install nginx

// Start nginx server if it is not running somehow.
brew services start nginx

Sites not responding

I hope installing valet was not that hard. I was struggling to use valet because I was not using the latest version of valet. But once you install the fresh version, there wont be problem using valet command. But once you install valet and try to link your project using valet link your_project, is your site not responding? Well, that is exactly what I faced too ?. So don’t worry, your and mine problem is the some one.

This linking issue is due to dns connection. So to make sure dns is working correctly following following commands.

// Install
brew install dnsmasq

// Restart dnsmasq
brew services restart dnsmasq

// Now Install valet again.
valet install

// Test from terminal
dig website.test

Once you follow above commands, you will be able to see link your project using valet command and the website will be visible in your_website.test. You can always change your domain extension name by the command valet domain new_name. But note, the domain extension should not be similar with live domain names like .com .net .site .tk and such others. I hope you got it.

Park

Parking is a great feature provided by valet. So, I recommend you to use it. Basically, you won’t face issue on park. But as I was not aware what it does, I am trying to explain what it does so that you will also know if you don’t know yet ?.

First, go to your project location where you save all of your laravel projects. Now run following command. Once the command is executed, all projects under that folder will run automatically just by appending .test name after the project name.

cd /path/to/your/project
valet park

// If you want to link inidividually
cd /path/to/your/project/website
valet link website

// To see list of linked sites.
valet links

Mysql setup

Setting up mysql is quite tricking part. However, it depends based on your machine configuration. I faced lots of error. But finally I was able to setup mysql.

1) Download MySQL Community Server

Download latest MySQL version from this link. It is best to download this file and setup in your computer rather than going through brew install mysql and brew services start mysql. I have tried 10-20 times to make it work from terminal. However, I was not able to make MySQL run. So, don’t waste your time and just install the latest version of MySQL software and install it.

2) Install MySQL Community Server

You might be thinking why a step to install MySQL but I believe you will try to search for it if you are trying to install in Mac. Once you download .dmg file and try to start install clicking .pkg file, you might see something like this as shown in image below.

The solution to this issue is very easy. Instead of double clicking .pkg file, right click the file and click Open as shown in image below.

Now you will prompt with new popup. Click Open button and now you will be able to continue with setup process.

3) Start MySQL

In your preferences, click MySQL and start MySQL

4) Setup MySQL

Run mysql_secure_installation command in your terminal to setup root password and complete other setups as well based on your requirement.

5) Create user and password

You must be able to access mysql command now. Here are the steps you should follow to create user and database. Remember, if you type caching_sha2_password instead of mysql_native_password, you won’t be able to communicate with database.

Terminal commands

  • mysql -uroot -pYour_root_password_you_set_from_point_no_4)
  • CREATE USER new_user_name@localhost IDENTIFIED WITH mysql_native_password BY ‘new_password’;
  • GRANT ALL PRIVILEGES ON *.* TO ‘new_user_name’@’localhost’ WITH GRANT OPTION;

6) .env file setup

First you will need to find where is mysql.sock file located. To do so run netstat -ln | grep mysql command and you will see the location. In my case, it was in /tmp/mysql.sock. Now copy this path and paste it in your .env file as shown in image below.

Phpmyadmin setup

Setting up phpmyadmin is very easy. Please follow these steps.

  • Download phpmyadmin from this link.
  • Now extract that file to the location you want to save.
  • Goto to phpmyadmin folder and type valet link phpmyadmin.
  • Now you can access phpmyadmin just by typing phpmyadmin.test
  • Type mysql username and password we set above and you are good to go.

Migration

Everything is done till here. So just type php artisan migrate and you will be able to run migration without any issue

Conclusion

I hope this was helpful. I struggled a lot just to run migration code using valet. Finally I was able to accomplish. If this doesn’t work, let me know. I will try to help you.

Thank you.

Leave a Reply