Laravel开发系列五:既存项目在新机器搭建环境

laravel开发环境homestead搭建详解 laravel开发环境homestead搭建详解 常见的几种开发环境 Laravel的开发环境其实很多,因为它本身就是PHP,所以只要满足版本的情况下,任何pHP环境他都能跑起来,比如说常见的wamp/mamp/phpstudy等集成化环境都是可以的,但是,为了更好的减少错误,更多的兼容,以后的上线环境,官方推荐了两种开发环境,一种是homestead,另一种是Valet。第1种呢,Windows系统和mac系统,都可以支持,第2种的专门就是为mac系统的用户所提供的,总体感觉两种环境都非常非常好用,今天 阅读详情
前面四节,是针对从零开始的Laravel项目进行搭建。 这一节,主要是针对,已经完成了的Laravel项目,需要在一个新机器上搭建开发环境的步骤。


前言

我手里的项目,为了测试方便,将homestead的配置文件也一并放到了项目根目录下。因此,所有的操作,都是基于项目根目录下的。

一、启动HomeStead

1. 下载HomeStead镜像

  1.1 镜像下载地址前文有写,现在已经更新到了12.0.0
      https://vagrantcloud.com/laravel/boxes/homestead/versions/
      下载到本地,使用同样的方式导入到Vagrant中

  1.2 因为新项目只将配置文件上传了Git,所以这里需要重新下载HomeStead需要的脚本
      直接使用Composer即可,顺便也就将Laravel的依赖给下载好了。
      Bash: composer update

  1.3 此时启动vagrant up, 发现竟然找不到我们刚导入的12.0.0版本镜像,原因是这个文件的代码没有更新
      homestead.rb:
        config.vm.box_version = settings['version'] ||= '>= 11.0.0, < 12.0.0'
      将后面的判断代码改成<=12.0.0,重新vagrant up,问题解决!

到此,HomeStead的虚拟机便可以正常启动

2. 配置HomeStead镜像

  修改Homestead.yaml
        ip: 192.168.10.10
        
        map: homestead.win
        to: /home/vagrant/Laravel/WebFor5G/code/public
        php: '8.0'
  这里做的更改是为了设定Nginx的Server目录和相应IP,以及对应的php-fpm版本。
  
  设置结束,直接网页登陆192.168.10.10,看看效果:
      **网页访问报错502**
      。。。
  查看Nginx Error Log:
  # tail -f /var/log/nginx/homestead.win-error.log
    connect() to unix:/var/run/php/php8.0-fpm.sock failed (2: No such file or directory)
  原因:因为图新鲜,用了12.0.0的Homestead镜像,默认的fpm版本是8.1的。
  
  有两种修复方式:
		a. 将错就错,提升Ngnix的php版本为8.1----php: '8.1'
		   **实际不可行**,因为8.1的语法取消了一些向下兼容,Laravel8.0会引发如下报警:
		    FastCGI sent in stderr: "PHP message: PHP Deprecated:  Return type of Illuminate\Http\Request::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/vagrant/Laravel/WebFor5G/code/vendor/laravel/framework/src/Illuminate/Http/Request.php on line 651
	    b. 继续使用8.0版本的php-fpm:
            update-alternatives --config php (具体流程截图在下方)
            service php8.0-fpm restart

  用回php-fpm8.0之后,重新登陆192.168.10.10,已经可以看到正常的DB报错了:
    Table 'homestead.sessions' doesn't exist
  这个是因为我们还没有迁移DB,按照前文操作即可!
    php artisan migrate

在这里插入图片描述
HomeStead配置完毕!


二、启用Docker

1.

2.

Docker就此配置完毕


总结

新机器+老项目,最重要的步骤是根据项目的配置文件download各种库和依赖:
composer.json 决定后端PHP框架需要的所有依赖,对应vendor目录:
基本命令:composer install

package.json 决定前端JS框架需要的所有依赖,对应node-modules目录:
基本命令:npm install

Windows 搭建 Laravel 的 Homestead 开发环境 开发 Laravel 应用,也可以使用 WAMP、XAMPP、PHPStudy 等集成环境,但对于一个优秀的开发者, 应毫不犹豫地选择 Homestead 作为 Laravel 应用的开发环境。强烈推荐使用 Homestead 作为 Laravel 5.5 的 开发环境。你需要明白的四个主要概念:VirtualBox:是 Oracle 公司的虚拟机软件。Vagrant: 是一个基于Ruby的虚拟机... 阅读详情

相关推荐

如何在win11中用双硬盘或移动硬盘装Ubuntu 20.04 双系统

win11 安装双系统

qq_42817360的博客 5139

记录一次 laravel Declaration of Illuminate\Container\Container::get($id)

PHP版本7.2以下安装laravel5.5 报 Declaration of Illuminate\Container\Container::get($id) 解决方法: composer require psr/container "1.0.0"

weixin_45370447的博客 1949

本地部署大模型 vs 网页版大模型区别

fill:#333;color:#333;color:#333;fill:none;本地服务器/工作站硬件资源私有化部署GPU集群高速存储模型文件训练框架推理引擎。

Ds-Rag的博 1712

Illuminate\Container\Container::bind(): Argument #2 错误记录

网上简单根据错误信息查了一下,没有找到答案,遂一个一个包更新版本号。最后到facade/ignition报错了,是由于版本降低的太多导致错误,固定在已安装版本附近解决。这里应该根据安装顺序来,明显可以看出是安装替换facade/ignition包时出错,又长知识了。

阿飞的博客 448

VSCODE 安装LATEX环境,参数配置,常见问题解决

1 准备Texlive安装包 可以从以下网址下载 texlive 的镜像文件: 华为镜像 阿里镜像 官网 网址中大概文件构成 下载完后我们需要的文件构成(我是2020年下载过了,这次就不重新下载了) 将这个镜像文件进行解压 2 安装Texlive 右键install-tl-windows.bat,单击以管理员身份运行,进入安装界面. 点击左下角的“Advanced”进入高级安装来取消你不需要安装的宏包。 点击“Customize”来取消勾选不需要的宏包。 单是把非中英的语言包取消勾选可以省掉 1G

呆呆象呆呆的博客 6万+

WRF替换静态地理数据中的土地利用数据(WRF替换下垫面数据)

   在进行自己的WRF项目模拟的时候,因为需要用中国土地利用数据替换WRF内嵌老旧的土地利用数据,故需要将土地利用进行替换。我使用的中国的土地利用数据是来自中国土地利用数据(1980-2015)。其中我以下载的lucc1980为例进行演示。 1、坐标转换    (1)下载的lucc1980数据如下图所示:    (2)在ArcMap中打开如下图所示: 打开属性表可以看到,lucc1980的坐标系为投影坐标系Krasovsky_1940_Albers,数据格式为GRID。这里需要将投影坐标系转换成地理坐

GIS 1万+

php 忽略 deprecated,php Deprecated 解决办法

这个问题是因为php版本过高。在php5.3中,正则函数ereg_replace已经废弃,而dedecms还继续用。有两个方案可以解决以上问题:1、把php版本换到v5.3下。2、继续使用v5.3,修改php.ini文件;extension=php_mbstring.dll改为extension=php_mbstring.dll;mbstring.func_overload= 0修改为:mbst...

weixin_32955207的博客 1445

深度强化学习 | 详解基于价值的强化学习DQN算法(附Pytorch实现)

深度Q网络DQN的核心原理是通过经验回放池和目标网络技术拟合高维状态空间,是Q-Learning算法的深度学习版本,本文分析DQN的基本算法,并给出训练实例和实际案例

FRIGIDWINTER的博客 4986

Illuminate Container 项目常见问题解决方案

Illuminate Container 项目常见问题解决方案 1. 项目基础介绍 Illuminate Container 是 Laravel 框架的一个组件,主要用于服务容器(Service Container)的实现。服务容器是一个用于管理类依赖和执行依赖注入(DI)的工具,它允许开发者以一种更加简洁和可控的方式来管理应用程序中的依赖关系。该项目使用的主要编程语言是 PHP。 2. 新手常见...

gitblog_01090的博客 941

【Bluetooth蓝牙开发】一、开篇词 | 打造全网最详细的Bluetooth开发教程

1、开篇词 2、蓝牙开发入门 3、蓝牙协议栈总览 4、蓝牙协议栈——物理层 5、蓝牙协议栈——链路层 6、蓝牙协议栈——传输层 7、蓝牙协议栈——L2CAP协议 8、蓝牙协议栈——ATT协议 9、蓝牙协议栈——GATT协议 10、蓝牙通信流程分析 11、蓝牙协议栈——Bluez交叉编译 12、蓝牙调试工具汇总

Donge's Blog 1万+

【YOLO目标检测全栈实战】98 YOLO模型在低光照环境下的自适应增强策略

你有没有遇到过这种情况?深夜加班调试产线检测模型,车间灯光昏暗,摄像头采集的图片黑乎乎一片,YOLO模型直接“罢工”——漏检率飙升到40%以上。上个月我在一个汽车零部件质检项目里就栽了跟头:白天模型跑得飞起,mAP@0.5达到0.92,可一到夜班,同样的产线、同样的零件,mAP直接掉到0.63。客户拍着桌子问我:“你这模型怎么还分白天黑夜?”

企鹅码农的专属播客,分享10多年的实战案例和经验解读,包含YOLO、RT-DETR、AI等各个工作领域。 284

Laravel开发系列六:Docker环境使用

使用Docker镜像运行Laravel项目:LaraDock

keysguy的博客 2330

【软件测试】人工智能(AI)在软件测试领域的应用

AI在软件测试领域的应用使测试过程更加自动化、高效和智能。它可以帮助测试团队减轻负担,更快地识别和修复问题,最终提高软件的质量和可靠性。随着AI技术的不断进步,未来AI在软件测试领域的应用将更加广泛和深入。

weixin_46453070的博客 4385

docker-laravel完全指南:如何用Docker Compose快速搭建Laravel开发环境

docker-laravel是一个功能强大的工具,能帮助开发者使用Docker Compose快速搭建Laravel开发环境,支持Windows(WSL2)、macOS(Intel和Apple Silicon)以及Linux系统。无论是新手还是有经验的开发者,都能通过它轻松配置一个稳定高效的Laravel开发环境。 ## 为什么选择docker-laravel? 使用Docker Compos

gitblog_00168的博客 995

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

探索高效开发新境界:Docker-Laravel,一键搭建Laravel开发环境

探索高效开发新境界:Docker-Laravel,一键搭建Laravel开发环境 docker-laravel-alpineThis repository is deprecated. See "docker-laravel" repository项目地址:https://gitcode.com/gh_mirrors/do/docker-laravel-alpine 在当今的Web开发领域,La...

gitblog_00076的博客 434

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

laravel系列1-开发环境的配置

前言:学习的时候把学习的过程以及碰到的坑事后再记录下也许能够加深学习的印象以及能够为后来人排坑,此系列文章是我学习lavarel一个记录,欢迎小伙伴们一起学习。配合使用教程 laracasts.com,如果不能科学上网,b站也有了,b站地址 上面网站其实有英文文档的,如果阅读有障碍,可以参靠这边的中文文档 laravel版本5.4 docker搭建laravel开发环境 不具备docker基础也无

The Hard Way To Code 757

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

构建高效的Laravel开发环境:docker-laravel项目推荐

构建高效的Laravel开发环境:docker-laravel项目推荐 项目介绍 docker-laravel 是一个专为Laravel开发者设计的Docker环境构建项目。通过该项目,开发者可以轻松地在本地搭建一个包含PHP 7.4、MySQL 8.0、Nginx、Redis和Node.js的完整开发环境。无论你是Mac用户还是Windows用户,都可以通过简单的步骤快速启动并运行你的Larav...

gitblog_00037的博客 443

laravel入门实战开发(一):项目搭建

环境要求 PHP >= 7.2.0 PHP BCMath 扩展 PHP Ctype 扩展 PHP JSON 扩展 PHP Mbstring 扩展 PHP OpenSSL 扩展 PHP PDO 扩展 PHP Tokenizer 扩展 PHP XML 扩展 安装 Laravel Laravel 使用 Composer 管理依赖,所以,安装之前确保已经在机器上安装了 通过 Laravel 安装器 首先,我们可以通过 Laravel 安装器安装 Laravel,在此之前,需要通过 Composer 安装

渡目成书 819

Web开发、测试环境搭建(LAMP、SVN服务器、Laravel项目创建)

这是一篇在Ubuntu下搭建Web开发、测试环境的总结文档。主要涵盖如下主题: 1.LAMP安装及数据盘配置; 2.安装SVN服务器,并结合apache提供svn服务器的http方式的访问接口; 3.Laravel的安装及项目创建;

borogadi的博客 2089

熟悉Laravel框架开发(一)搭建Laravel统一开发环境

Laravel开发(一)— 环境搭建

qq_43958643的博客 584

Laravel开发环境搭建 - Windows

系统要求 Windows 7 及以上 步骤简略 接下来让我们按照这几个步骤来完成整个 Laravel 开发环境的安装及配置: 安装 VirtualBox 安装 Vagrant 导入 Homestead Box 虚拟机盒子 安装 Git 安装 Homestead 管理脚本 配置 Homestead.yaml 文件 启动 Homestead 虚拟机 开启 NFS 挂载模式 安装 VirtualBo...

懒虫的博客 976

Laravel5.8入门系列一 搭建环境,Hello World!

一、环境要求 Laravel 5.8对于PHP环境要求如下: PHP >= 7.1.3 OpenSSL PHP 扩展 PDO PHP 扩展 Mbstring PHP 扩展 Tokenizer PHP 扩展 XML PHP 扩展 Ctype PHP 扩展 JSON PHP 扩展 二、工具 PHP环境,使用xampp集成环境,注意下载PHP7.1.3以上版本 代码ide,sublime t...

写PHP的老王 831

Laravel Homestead 终极指南:10分钟搭建完美PHP开发环境

Laravel Homestead 是官方提供的预打包 Vagrant 盒子,为开发者提供了卓越的 PHP 开发环境,无需在本地机器安装 PHP、Web 服务器或其他服务器软件,让你不再担心搞乱操作系统!Vagrant 盒子是完全可丢弃的,若出现问题,几分钟内就能重新创建。 ## 🌟 为什么选择 Laravel Homestead? Laravel Homestead 可在 Windows、

gitblog_02219的博客 725

Laravel Valet:开发流程的加速器

Laravel Valet是一个强大的本地开发工具,它为Laravel开发提供了极大的便利。通过本文的介绍,你应该对Valet的安装、配置和使用有了更深入的理解。记住,Valet是提升Laravel开发效率的有力工具。本文详细介绍了Laravel Valet开发工具的安装、配置和使用方法。通过具体的代码示例和操作步骤,希望能够帮助读者更好地理解和运用Laravel Valet,提升Web开发效率。记住,Valet是Laravel生态系统中的一个高效组件,合理利用它可以使你的开发工作更加顺畅。

2401_85702623的博客 774

Laravel 第一章 环境搭建 PHP

laravel-admin 账号密码为admin https://laravel-admin.org/docs/zh/installation laravel-admin文档 主要参考文档 Laravel 开发环境部署 https://learnku.com/docs/laravel-development-environment/5.5 一、Laravel开...

JYliangliang的博客 334
上一篇: Laravel-Vue开发初探二:Inertia拾遗
下一篇: Laravel开发系列六:Docker环境使用
keysguy
博客等级 码龄16年 1粉丝 9原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值