当前位置: 首页 > news >正文

适用于Linux的Windows子系统(PHP搭建lmap、redis、swoole环境)

目录

前言

一、Windows安装Linux子系统

二、Ubuntu搭建PHP开发环境

1.PHP 安装

2.Apache2 安装

3.MySQL安装

4.Redis安装

5.Swoole安装

总结


前言

系列分为三章(从安装到项目使用):

一、适用于Linux的Windows子系统(系统安装步骤)

二、适用于Linux的Windows子系统(PHP搭建lmap、redis、swoole环境)

三、适用于Linux的Windows子系统(在VScode中开发Linux项目)


一、Windows安装Linux子系统

适用于Linux的Windows子系统(系统安装步骤)

二、Ubuntu搭建PHP开发环境

1.PHP 安装

  • Ubuntu中有默认的PHP版本可能不是你想要的,执行以下命令可以安装任何你想要的版本
更新:sudo apt-get update依赖:sudo apt -y install software-properties-common源:sudo add-apt-repository ppa:ondrej/php更新:sudo apt-get update版本和扩展更替成你需要的安装:sudo apt -y install php7.4安装扩展:sudo apt install php7.3-fpm php7.3-mysql php7.3-curl php7.3-gd php7.3-mbstring php7.3-xml php7.3-xmlrpc php7.3-zip php7.3-opcache php7.3-redis php7.3-memcache -y
  • PHP命令
版本:php -v 扩展:php -m       扩展路径:php -i |grep extension_dir       php.ini路径:php -i |grep php.ini       

2.Apache2 安装

  • 安装
sudo apt install apache2
  • Apache2命令
启动:sudo /etc/init.d/apache2 start        重启:sudo /etc/init.d/apache2 restart        停止:sudo /etc/init.d/apache2 stop        重载:sudo /etc/init.d/apache2 reload      状态:sudo service apache2 status

3.MySQL安装

  • 我选择的版本是 mysql-server_5.7.31-1ubuntu18.04_amd64.deb-bundle.tar

MySQL官网下载地址

  • 选择Ubuntu Linux选择合适的windows的位数

  • 将安装包移动到Ubuntu根目录中
sudo cp /mnt/f/wwwroot/mysql-server_5.7.31-1ubuntu18.04_amd64.deb-bundle.tar /

   ‘ /mnt ’ 表示在ubuntu中挂载windows  ‘ f/wwwroot ’ 包所在的路径   ‘ / ’ 表示要移动到根路径

  • 解压
sudo tar -xvf mysql-server_5.7.31-1ubuntu18.04_amd64.deb-bundle.tar -C /opt/mysql/

  • 删除两个测试包
进入文件:cd /opt/mysql/删除:sudo rm -f mysql-testsuite_5.7.31-1ubuntu18.04_amd64.deb删除:sudo rm -f mysql-community-test_5.7.31-1ubuntu18.04_amd64.deb
  • 安装(安装成功会弹出设置密码界面)
dpkg -i mysql-*.deb

  • 报错处理

未安装程序包libmecab2:sudo apt-get install libmecab2

未安装程序包libmecab5:sudo apt-get install libmecab5

未满足的依赖关系(unmet dependencies)

  • 查看mysql是否安装成功
dpkg -l | grep mysql-server
  • MySql工具远程连接

        a. 更改root用户访问地址

连接:mysql -u root -p使用:use mysql;查看: select User,Host from user;允许任何地址访问root:update user set host = '%' where user = 'root';刷新生效:flush privileges;退出mysql:exit修改配置文件(bind-address = 0.0.0.0):sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf重启mysql:sudo service mysql restart

        b. 工具连接(查看ubuntu虚拟IP)

ifconfig

  • MySql命令
版本:mysql -V重启:sudo service mysql restart停止:sudo service mysql stop启动:sudo service mysql start连接:mysql -u root -p 状态:sudo service mysql status

4.Redis安装

  • 安装
sudo apt install redis-server
  • 更推荐的安装方式(推荐推荐简单方便)
在PHP扩展安装中带有redis扩展,你可以通过php -m查看redis扩展
(因为命令安装有时候可能会冲突导致你要的版本更新了等【我是有这样的情况】)
  • 修改配置文件(注释bind)
sudo vim /etc/redis/redis.conf
  • redis命令
启动:sudo /etc/init.d/redis-server start关闭:sudo /etc/init.d/redis-server stop  重启:sudo /etc/init.d/redis-server restart   

5.Swoole安装

  • 下载安装包(4.8.1替换成你想要的版本号)
sudo wget https://pecl.php.net/get/swoole-4.8.1.tgz
  • 解压
sudo tar -zxvf swoole-4.8.1.tgz
  • 编译(依次执行下列命令)
cd swoole-4.8.1./configuremakesudo make install(如果在第二步提示没有 phpize 记得先安装再重新执行【php扩展安装好一般是有的】)
  • Swoole命令
是否安装:php -m | grep swoole查看版本和已开启的扩展:php --ri swoole

总结

如果步骤中有差异欢迎留言或私信,如何在VScode开的Linux项目可以移步

适用于Linux的Windows子系统(在VScode中开发Linux项目)

相关文章:

适用于Linux的Windows子系统(PHP搭建lmap、redis、swoole环境)

目录 前言 一、Windows安装Linux子系统 二、Ubuntu搭建PHP开发环境 1.PHP 安装 2.Apache2 安装 3.MySQL安装 4.Redis安装 5.Swoole安装 总结 前言 系列分为三章(从安装到项目使用): 一、适用于Linux的Windows子系统(系统安装步骤…...

Vue3+Ts+Vite项目(第十二篇)——echarts安装与使用,vue3项目echarts组件封装

概述 技术栈:Vue3 Ts Vite Echarts 简介: 图文详解,教你如何在Vue3项目中引入Echarts,封装Echarts组件,并实现常用Echarts图例 文章目录 概述一、先看效果1.1 静态效果1.2 动态效果 二、话不多数,引入 …...

hive location更新hive元数据表详解

1.hive location更新方式 一、通过修改表DDL: alter table table_name set location hdfs://nm:8020/table_path 二、直接修改hive 的meta info: update DBS set DB_LOCATION_URI replace(DB_LOCATION_URI,"oldpath","newpath")update SDS…...

【SpringBoot】统一功能处理

目录 🎃1 拦截器 🎀1.1 拦截器的代码实现 🎨1.2 拦截器的实现原理 🧶2 拦截器应用——登录验证 🦺3 异常统一处理 🎭4 统一数据返回格式 🧤4.1 为什么需要统一数据返回格式 🧣4.2 统…...

分布式数据库-架构真题(二十六)

构件组装成软件系统的过程分为三个不同的层次()。(2018年) 初始化、互连和集成连接、集成和演化定制、集成和扩展集成、扩展和演化 答案:C (2018年)CORBA服务端构件模型中,&#x…...

MyWebServer开发日记-socket

打算把 tinyWebServer 重写成跨平台(Windows and Linux)的。 这里首先需要跨平台的 sokcet,主要参考 尹圣雨 的 TCP/IP 网络编程 来着: 代码写的有些笨,欢迎批评: 首先是一个 socket 类,主要…...

图书管理信息系统分析与设计

一、系统开发的可行性分析 (一)系统背景.必要性及意义 随着社会经济的迅速发展和科学技术的全面进步,计算机事业的飞速发展,以计算机与通信技术为基础的信息系统正处于蓬勃发展的时期。随着经济文化水平的显著提高,人…...

Charles基础使用指南

##Charles 基本使用指南 Charles 在本地构建一个HTTP代理服务器,可以实现对HTTP、HTTPS请求的抓取,也就是我们常说的抓包,以及对请求响应的修改等。 Charles 官网地址 https://www.charlesproxy.com/ ###一、移动端的抓包实现 1. PC端开启…...

Android12之/proc/pid/status参数含义(一百六十五)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 人生格言: 人生…...

UMA 2 - Unity Multipurpose Avatar☀️三.给UMA设置默认服饰Recipes

文章目录 🟥 项目基础配置🟧 给UMA配置默认服饰Recipes🟨 设置服饰Recipes属性🟥 项目基础配置 将 UMA_DCS 预制体放到场景中创建空物体,添加DynamicCharacterAvatar 脚本,选择 HumanMaleDCS作为我们的基本模型配置默认Animator 🟧 给UMA配置默认服饰Recipes 服饰Re…...

uniapp-小程序登录授权框

微信官方文档 不弹出授权框原因 因为版本问题,目前的最新的版本是不支持 wx.getUserInfo 去主动弹出授权框 只能引导用户去点击 butten 去授权 解决方法 我的思路是参考了其他的微信微信小程序, 就是跳转到我的页面的时候 在钩子函数内去触发一个封装的模态框,状…...

Unity 性能优化Shader分析处理函数:ShaderUtil.GetShaderGlobalKeywords用法

Unity 性能优化Shader分析处理函数:ShaderUtil.GetShaderGlobalKeywords用法 点击封面跳转下载页面 简介 Unity 性能优化Shader分析处理函数:ShaderUtil.GetShaderGlobalKeywords用法 在Unity开发中,性能优化是一个非常重要的方面。一个常见…...

第一百四十一回 如何添加程序启动页

文章目录 概念介绍使用方法示例代码 我们在上一章回中介绍了如何解决BLE包中的错误的内容,本章回中将介绍如何添加程序启动页.闲话休提,让我们一起Talk Flutter吧。 概念介绍 程序启动页就是点击手机桌面上的程序启动图标后显示的页面,也叫s…...

从零开始的PICO教程(4)--- UI界面绘制与响应事件

从零开始的PICO教程(4)— UI界面绘制与响应事件 文章目录 从零开始的PICO教程(4)--- UI界面绘制与响应事件一、前言1、大纲2、教程示例 二、具体步骤1、PICO VR环境配置2、XR的UI Canvas画布创建与调整(1)C…...

IntelliJ IDEA 远程调试 Tomcat

准备工作 明确远程服务器的 IP 地址,比如我是:192.168.92.128 关掉服务器防火墙:service iptables stop 本地 Remote Server 配置 添加 Remote Server,如下图 复制 Remote Server 自动生成的 JVM 参数,等下有用&…...

谷粒商城----认证服务

一、短信验证码(阿里云短信服务) Data ConfigurationProperties(prefix "spring.cloud.alicloud.sms") Component public class SmsComponent {private String host;private String path;private String skin;private String sign;private S…...

Mediasoup源码介绍

一、Mediasoup 整体结构 整个Mediasoup库通过Nodejs管理,比如整体逻辑、worker、router、producer、consumer...都是通过JS进行管理的。 其底层的数据传输是通过C部分进行控制的,通过NodeJs来控制C部分,以实现整体的数据传输效 二、Mediasou…...

GIS入门,WKT格式详解

WKT介绍 WKT是Well-known Text的缩写,它是一种用于描述地理空间几何对象的文本格式。 WKT是一种开放的国际标准,由Open Geospatial Consortium(OGC)定义和维护。 WKT是一种标准的表示方法,可以用来描述点、线、面等地理空间对象的形状和位置。通过使用一系列的坐标点和关…...

Qt之postEvent

基本介绍 postEvent方法所属类为QCoreApplication,完整声明如下: [static] void QCoreApplication::postEvent(QObject *receiver, QEvent *event, int priority Qt::NormalEventPriority) 该方法的作用是将要发送的事件推送到对应线程的事件队列中&…...

1976~2020年青藏高原典型冰川及冰湖遥感监测数据集

冰川面积是反应气候变化最直接的指标之一。在全球变暖的大背景下,对于评估冰川融化造成的生态、全球气候变化和水资源价值评价等问题十分重要。本文针对受西风和印度洋夏季风影响下的青藏高原冰川及其末端冰湖的变化特征,制作了近44年来时相相对连续的冰…...

linux之kylin系统nginx的安装

一、nginx的作用 1.可做高性能的web服务器 直接处理静态资源(HTML/CSS/图片等),响应速度远超传统服务器类似apache支持高并发连接 2.反向代理服务器 隐藏后端服务器IP地址,提高安全性 3.负载均衡服务器 支持多种策略分发流量…...

【JVM】- 内存结构

引言 JVM:Java Virtual Machine 定义:Java虚拟机,Java二进制字节码的运行环境好处: 一次编写,到处运行自动内存管理,垃圾回收的功能数组下标越界检查(会抛异常,不会覆盖到其他代码…...

linux 下常用变更-8

1、删除普通用户 查询用户初始UID和GIDls -l /home/ ###家目录中查看UID cat /etc/group ###此文件查看GID删除用户1.编辑文件 /etc/passwd 找到对应的行,YW343:x:0:0::/home/YW343:/bin/bash 2.将标红的位置修改为用户对应初始UID和GID: YW3…...

华硕a豆14 Air香氛版,美学与科技的馨香融合

在快节奏的现代生活中,我们渴望一个能激发创想、愉悦感官的工作与生活伙伴,它不仅是冰冷的科技工具,更能触动我们内心深处的细腻情感。正是在这样的期许下,华硕a豆14 Air香氛版翩然而至,它以一种前所未有的方式&#x…...

用机器学习破解新能源领域的“弃风”难题

音乐发烧友深有体会,玩音乐的本质就是玩电网。火电声音偏暖,水电偏冷,风电偏空旷。至于太阳能发的电,则略显朦胧和单薄。 不知你是否有感觉,近两年家里的音响声音越来越冷,听起来越来越单薄? —…...

Scrapy-Redis分布式爬虫架构的可扩展性与容错性增强:基于微服务与容器化的解决方案

在大数据时代,海量数据的采集与处理成为企业和研究机构获取信息的关键环节。Scrapy-Redis作为一种经典的分布式爬虫架构,在处理大规模数据抓取任务时展现出强大的能力。然而,随着业务规模的不断扩大和数据抓取需求的日益复杂,传统…...

AI语音助手的Python实现

引言 语音助手(如小爱同学、Siri)通过语音识别、自然语言处理(NLP)和语音合成技术,为用户提供直观、高效的交互体验。随着人工智能的普及,Python开发者可以利用开源库和AI模型,快速构建自定义语音助手。本文由浅入深,详细介绍如何使用Python开发AI语音助手,涵盖基础功…...

Leetcode33( 搜索旋转排序数组)

题目表述 整数数组 nums 按升序排列&#xff0c;数组中的值 互不相同 。 在传递给函数之前&#xff0c;nums 在预先未知的某个下标 k&#xff08;0 < k < nums.length&#xff09;上进行了 旋转&#xff0c;使数组变为 [nums[k], nums[k1], …, nums[n-1], nums[0], nu…...

Python实现简单音频数据压缩与解压算法

Python实现简单音频数据压缩与解压算法 引言 在音频数据处理中&#xff0c;压缩算法是降低存储成本和传输效率的关键技术。Python作为一门灵活且功能强大的编程语言&#xff0c;提供了丰富的库和工具来实现音频数据的压缩与解压。本文将通过一个简单的音频数据压缩与解压算法…...

云原生安全实战:API网关Envoy的鉴权与限流详解

&#x1f525;「炎码工坊」技术弹药已装填&#xff01; 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、基础概念 1. API网关 作为微服务架构的统一入口&#xff0c;负责路由转发、安全控制、流量管理等核心功能。 2. Envoy 由Lyft开源的高性能云原生…...