如何使用 PHP、Node.Js、MySQL 和 Redis 为Laravel开发设置本地环境

为了继续学习,我建议使用Linux计算机或安装了全新Ubuntu的虚拟机(建议使用虚拟框)。

VM的优点是您的工作环境与个人环境隔离,并且可以轻松地拍摄快照并在发生任何问题时回滚。

在本系列的这一部分中,我们将为 Laravel 开发安装一个最小可行的本地环境。


在这里,我们安装2个版本的PHP二进制文件,我们将学习如何在它们之间切换。大多数现代项目都是PHP的8.0或8.1版本,因此可以同时安装它们。

接下来,我们将安装 Node.js 二进制文件,还将学习如何使用 nvm(节点版本管理器)切换版本。

然后,我们将通过 Docker 为Laravel 应用程序推出常见的支持服务 — MySQL 数据库和 Redis 数据库。

最后,我们将安装一个干净版本的 PhpStorm。


PHP 8.0 和 PHP 8.1 二进制文件安装

#!/usr/bin/env bash

sudo apt update
sudo apt -y install curl

# Set up PHP 8.0
sudo apt update
sudo apt -y install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt update
sudo apt -y install --no-install-recommends php8.0 composer php8.0-xml \
php8.0-intl php8.0-curl php8.0-zip php8.0-sqlite3 php8.0-mysql \
php8.0-xdebug php8.0-mbstring php8.0-redis

# Set up PHP 8.1
sudo apt update
sudo apt -y install --no-install-recommends php8.1 composer php8.1-xml \
php8.1-intl php8.1-curl php8.1-zip php8.1-sqlite3 php8.1-mysql \
php8.1-xdebug php8.1-mbstring php8.1-redis

# How to switch php versions
sudo update-alternatives --config php

# How to disable/enable xdebug
sudo phpdismod xdebug
sudo phpenmod xdebug

Node.js:NVM 和 NPM 安装

首先,我们需要安装 Node 版本管理器包。

在此处查看当前的 LTS 版本 https://nodejs.org/en/

#!/usr/bin/env bash

# Installing Node 16:
nvm i 16

node -v
# v16.15.0

npm -v
# 8.5.5

# Switching Node.js versions
nvm i 18
# or (if already installed)
nvm use 18

在下一部分中,我们将安装所有必需的服务,包括Docker,并启动常用的开发服务,如MySQL和Redis数据库。


Docker

只需按照以下指南进行操作,即可成功运行 hello-world 容器。

https://docs.docker.com/engine/install/ubuntu/

https://docs.docker.com/engine/install/linux-postinstall/

MySQL数据库

我们将启动 MySQL 数据库的docker实例。

请访问 https://hub.docker.com/_/mysql 了解更多信息。

#!/usr/bin/env bash

# first run
docker run -d --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=secret \
-e MYSQL_DATABASE=laravel  -e MYSQL_USER=laravel -e MYSQL_PASSWORD=secret \
-v ~/mysql-data:/var/lib/mysql mysql:8

# stop service
docker stop mysql

# start service
docker start mysql

在测试和命令中使用特征时,您需要安装MySQL工具,以便Laravel可以在本地运行它们。DatabaseMigrationsschema:dump

sudo apt install mysql-client-core-8.0

Redis数据库

有关 Redis 容器的信息,请访问 https://hub.docker.com/_/redis

#!/usr/bin/env bash

# first run redis with persistence
docker run -p 6379:6379 --name redis -d redis --save 60 1 --loglevel warning

# stop service
docker stop redis

# start service
docker start redis

以下是我推荐的应用程序,用于在Ubuntu中管理数据库。这两种工具都具有用于防火墙后面的生产网络的 SSH 隧道。

MySQL工作台

访问 https://dev.mysql.com/downloads/workbench/ 下载您的版本或快照:

sudo snap install mysql-workbench-community

sudo snap connect mysql-workbench-community:password-manager-service :password-manager-service

Redis桌面管理器

请访问 https://resp.app/ 了解更多信息。

sudo snap install redis-desktop-manager

PhpStorm

最后,我们最后安装一个新的 PhpStorm 副本。

sudo snap install phpstorm — classic

或 https://www.jetbrains.com/help/phpstorm/installation-guide.html#snap


在下一章中,我们将回顾PhpStorm的推荐插件列表,这些插件可以提高您的Laravel和整体生产力。