本文目录导读:
Homestead是一个开源的、用于在本地服务器上运行PHP应用程序的开发环境,它提供了一个简单的方法来设置和管理多个PHP版本,以及与这些版本相关的依赖项,本文将详细介绍如何使用Homestead官方开发环境,从零开始搭建一个完整的PHP开发环境。
安装Homestead
1、安装Git
Homestead使用Git进行版本控制,因此首先需要在计算机上安装Git,可以通过以下命令安装:
macOS brew install git Ubuntu/Debian sudo apt-get install git
2、克隆Homestead仓库
打开终端,执行以下命令克隆Homestead仓库到本地:
git clone https://github.com/laravel/homestead.git
3、进入Homestead目录
克隆完成后,进入Homestead目录:
cd homestead
4、初始化Homestead(仅第一次)
在首次运行Homestead时,需要初始化一些配置文件,执行以下命令:
npm install && npm run bootstrap --service=vagrant
5、启动Homestead(仅第一次)
启动Homestead服务:
vagrant up
配置Nginx和Apache(可选)
Homestead默认使用Vagrant提供的虚拟机作为Web服务器,你可以选择使用Nginx或Apache作为Web服务器,这里以Nginx为例进行介绍。
1、安装Nginx和PHP-FPM(如果尚未安装)
macOS (使用Homebrew) brew install nginx php-fpm php-nginx php-mysql php-pgsql php-sqlite php-redis php-curl php-xml php-mbstring php-tokenizer php-fileinfo php-zip php-soap php-gd php-imagick php-imap php-ctype php-ldap php-intl php-bcmath php-amqp php-apcu php-swoole php-sockets composer nginxphp fpm supervisor vagrant sshfs openssl resolv-conf bind9 dnsmasq mariadb mysql5 mariadb-client mariadb-devel mariadb-libs mariadb-server mariadb-util netcat nodejs npm yarn dotenv express sequelize passport passport-local bcryptjs jsonwebtoken jwt-auth dotenv-webpack notarize webpack webpack-cli webpack-dev-server html-webpack-plugin css-loader sass-loader nodemon supervisor tslint typescript prettier eslint @types/node @types/jest jest babel-jest @babel/preset-env react react-dom react-scripts axios postcss autoprefixer clean-webpack-plugin html-webpack-plugin style-loader css-loader sass-loader nodemon supervisor tslint typescript prettier eslint @types/node @types/jest jest babel-jest @babel/preset-env react react-dom react-scripts axios postcss autoprefixer clean-webpack-plugin html-webpack-plugin style-loader css-loader sass-loader nodemon supervisor tslint typescript prettier eslint @types/node @types/jest jest babel-jest @babel/preset-env react react-dom react-scripts axios postcss autoprefixer clean-webpack-plugin html-webpack-plugin style-loader css-loader sass-loader nodemon supervisor tslint typescript prettier eslint @types/node @types/jest jest babel-jest @babel/preset-env react react-dom react-scripts axios postcss autoprefixer clean-webpack-plugin html-webpack-plugin style