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

news2025/2/25 17:55:52

目录

前言

一、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

./configure

make

sudo make install

(如果在第二步提示没有 phpize 记得先安装再重新执行【php扩展安装好一般是有的】)
  • Swoole命令
是否安装:php -m | grep swoole

查看版本和已开启的扩展:php --ri swoole

总结

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/990845.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

提升你的Android开发技能:从AR/VR沉浸到UI设计和故障排除

文章目录 探索最新AR/VR应用在教育、游戏、医疗等领域的应用教育领域游戏领域医疗领域 深入了解Android内存管理与性能优化的方法与技巧垃圾回收机制内存泄漏使用弱引用避免过度渲染内存优化图像优化延迟加载Android中的调试技术应用程序分析 分享如何提高Android应用的易用性和…

服贸会2023 | 希尔贝壳入选“智赋百业”人工智能融合发展与安全应用典型案例

9月6日,服贸会(中国国际服务贸易交易会)“2023人工智能融合发展与安全应用”论坛在国家会议中心举行,论坛由国家工业信息安全发展研究中心、世界贸易网点联盟主办,旨在促进人工智能领域贸易合作,充分发挥人…

生动理解深度学习精度提升利器——测试时增强(TTA)

测试时增强(Test-Time Augmentation,TTA)是一种在深度学习模型的测试阶段应用数据增强的技术手段。它是通过对测试样本进行多次随机变换或扰动,产生多个增强的样本,并使用这些样本进行预测的多数投票或平均来得出最终预…

OpenCV(二十九):图像腐蚀

1.图像腐蚀原理 腐蚀操作的原理是将一个结构元素(也称为核或模板)在图像上滑动,并将其与图像中对应位置的像素进行比较。如果结构元素的所有像素与图像中对应位置的像素都匹配,那么该位置的像素值保持不变。如果结构元素的任何一个…

【软考】系统集成项目管理工程师(三)信息系统集成专业技术知识③

一、云计算 1、定义 通过互联网来提供大型计算能力和动态易扩展的虚拟化资源;云是网络、互联网的一种比喻说法。是一种大集中的服务模式。 2、特点 (1)超大规模(2)虚拟化(3)高可扩展性&…

Unity UGUI(二)核心组件

Unity Canvas相关知识学习 文章目录 Unity Canvas相关知识学习1. Canvas:1.1 Render Mode1.2 多个Canvas的显示顺序 2.Canvas Scaler:屏幕分辨率自适应2.1 UI Scale Mode 3. EventSystem4. Standalone Input Module5. Graphic Raycaster:图形…

创邻科技图数据库课程走进一流高校

《图数据库原理和实践》 正式开课! 最近,浙江大学计算机学院新开了一门名为 《图数据库原理和实践》 的新课程,该课程由创邻科技和浙江大学联合推出,吸引了许多学生踊跃参与! 曾为浙大学子的创邻科技CTO周研博士作为…

「Java开发指南」在MyEclipse中的Spring开发(一)

MyEclipse v2023.1.2离线版下载(Q技术交流:742336981) 1. 什么是Spring? 在MyEclipse中引入Spring比大多数框架更难,因为它不是一种单一用途的技术。Spring被认为是Java软件开发在几乎每个领域都有最佳实践的巨大框架&#xff0…

canvas绘制渐变色三角形金字塔

项目需求:需要绘制渐变色三角形金字塔,并用折线添加标识 (其实所有直接用图片放上去也行,但是ui没切图,我也懒得找她要,正好也没啥事,直接自己用代码绘制算了,总结一句就是闲的) 最终效果如下图: (以上没用任何图片,都是代码绘制的) 在网上找了,有用canvas绘…

sql server 查询某个字段是否有值 返回bool类型

sql server 查询某个字段是否有值 返回bool类型,true 或 false SELECT ColumnCode,CONVERT(BIT,CASE WHEN LEN(ColumnCode) > 0 THEN 1 ELSE 0 END) AS HasValue FROM dbo.TF_LessonCatalog

Java(一)安装并使用 java(Windows)

安装并使用java 前言一、初识Java1.Java的安装1.1下载JDK1.2JDK安装与使用1.2.1安装1.2.2 IDEA(编译器)使用 2.Java运行编程逻辑(重要后面要用)总结 前言 学习很重要,复习也很重要,对于编程语言的复习更为…

初试小程序轮播组件

文章目录 一、轮播组件(一)swiper组件1、功能描述2、属性说明 (二)swiper-item组件1、功能描述2、属性说明 二、案例演示(一)运行效果(二)实现步骤1、创建小程序项目2、准备图片素材…

Azure + React + ASP.NET Core 项目笔记一:项目环境搭建(二)

有意义的标题 pnpm 安装umi4 脚手架搭建打包语句变更Visual Studio调试Azure 设置变更发布 pnpm 安装 参考官网,或者直接使用npm安装 npm install -g pnpmumi4 脚手架搭建 我这里用的umi4,官网已附上 这里需要把clientapp清空,之后 cd Cl…

构建普适通用的企业网络安全体系框架

在当今数字化时代,网络安全已成为企业保护信息资产和业务运行的重要任务。恶意攻击、数据泄露、网络病毒等威胁不断演进,给企业和个人带来了巨大风险。为了应对这一挑战,许多企业已经采取了一系列网络安全措施,如制定了网络安全政…

Nacos:Spring Cloud Alibaba服务注册与配置中心

Nacos 英文全称为 Dynamic Naming and Configuration Service,是一个由阿里巴巴团队使用 Java 语言开发的开源项目。 Nacos 是一个更易于帮助构建云原生应用的动态服务发现、配置和服务管理平台(参考自 Nacos 官网)。 Nacos 的命名是由 3 部…

系统架构设计师(第二版)学习笔记----嵌入式系统及软件

【原文链接】系统架构设计师(第二版)学习笔记----嵌入式系统及软件 文章目录 一、嵌入式系统1.1 嵌入式系统的组成1.2 嵌入式系统的特点1.3 嵌入式系统的分类 二、嵌入式软件2.1 嵌入式系统软件分层2.2 嵌入式软件的主要特点 三、安全攸关软件的安全性设…

ubuntu20.04 Supervisor 开机自启动脚本一文配置

前言: 最近发现一种非常好的开机启动服务方式,不光可以开机自启动,而且还可以进行开机节点的进程守护,这样大大确保了线程的稳定情况,这种服务甚至可以守护开机的进程,所以比之前设置 rc.local 开机自启动脚本一文配置节点好出很多,它甚至可以使用网页登录监管我开机自启…

RabbitMQ: 死信队列

一、在客户端创建方式 1.创建死信交换机 2.创建类生产者队列 3.创建死信队列 其实就是一个普通的队列,绑定号私信交换机,不给ttl,给上匹配的路由,等待交换机发送消息。 二、springboot实现创建类生产者队列 1.在消费者里的…

OpenText EnCase Endpoint Security 识别潜在的网络安全威胁并快速消灭威胁

如今,敏感数据丢失和 IT 系统中断是各类组织面临的最大危机。网络攻击频率不断攀升、修复成本日益增加以及响应时间延长都加剧了数据丢失的隐患。 OpenText EnCase Endpoint Security 的高效体现在能够加速检测恶意活动,并在其导致不可挽回的损失或丢失敏…

SpringSecurity OAuth2 配置 token有效时长

1.这种方式配置之后,并没有生效 package com.enterprise.auth.config;import com.enterprise.auth.handler.OAuthServerWebResponseExceptionTranslator; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bea…