PHP - Laravel 创建项目到服务器(nginx、apache)运行(附带目录结构)(1)

Vue

  • 什么是MVVM?

  • mvvm和mvc区别?它和其它框架(jquery)的区别是什么?哪些场景适合?

  • 组件之间的传值?

  • Vue 双向绑定原理

  • 描述下 vue 从初始化页面–修改数据–刷新页面 UI 的过程?

  • 虚拟 DOM 实现原理

  • Vue 中 key 值的作用?

  • Vue 的生命周期

  • Vue 组件间通信有哪些方式?

  • vue 中怎么重置 data?

  • 组件中写 name 选项有什么作用?

  • Vue 的 nextTick 的原理是什么?

  • Vuex 有哪几种属性?

    开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

  • Composer 安装与使用 这篇文章,安装到设置好镜像源,就行了。


三、创建 Laravel 工程
  • cd 到一个项目存放文件,在执行创建项目命令。

  • 方式一

$ composer create-project --prefer-dist laravel/laravel=5.8.* laravel-test

// 新建项目

create-project

// 以压缩的方式下载

–prefer-dist

// 框架名称和版本号

laravel/laravel=5.8.*

// 项目名称

laravel-test

  • 方式二,跟上面写法不一样,但意思与结果一样。

$ composer create-project laravel/laravel your-project-name --prefer-dist “5.8.*”

  • 如果报错 zsh: no matches found: laravel/laravel=5.8.*,是因为 zsh 不兼容的问题,解决办法:

1、编辑 ~/.zshrc

$ vim ~/.zshrc

2、添加内容,然后保存

setopt no_nomatch

3、重新加载 ~/.zshrc,然后就可以再次运行创建命令了。

$ source ~/.zshrc

$ composer clearcache

  • 重点:如果遇到错误先清理缓存,在试一次,如果不是缓存问题在另找解决方案

四、安装 Laravel 开发必备组件

1、安装

// 对应 composer.json 中的 require,一般用这个

$ composer require barryvdh/laravel-ide-helper

// 如果只想在开发环境安装请加上 --dev,对应 composer.json 中的 require-dev

$ composer require barryvdh/laravel-ide-helper --dev

2、初始化

$ php artisan ide-helper:generate

  • 如果报错 Method Illuminate\Routing\Route::get does not exist.

image.png

解决办法:找到 /routes/web.php 文件,调整之后再次运行初始化命令

// 方式一:注销该行代码

// use Illuminate\Routing\Route;

// 方式二:导入正确的地址

use Illuminate\Support\Facades\Route;

Route::get(‘/’, function () {

return view(‘welcome’);

});

  • 运行命令后,会输出 A new helper file was written to _ide_helper.php,表示成功!

3、初始化前后比较

  • 初始化前:

  • 初始化后:

  • 后续有必备插件在持续添加…

五、Laravel 项目运行(本地apachenginx
  • 方式一:命令行启动,运行窗口不能关闭

$ php artisan serve

// 或指定端口来运行

$ php artisan serve --port=8000

  • 方式二:apache 启动,注意文件夹的访问权限。

  • 找到 httpd-vhosts.conf 新增一个虚拟机

<VirtualHost *:80>

域名

ServerName www.dzm.com

错误日志

ErrorLog “/Users/dengzemiao/Sites/laravel-test/logs/error.log”

成功日志

CustomLog “/Users/dengzemiao/Sites/laravel-test/logs/access.log” combined

域名根目录,注意:需要链接到 laravel 项目的 public 文件夹下

DocumentRoot “/Users/dengzemiao/Sites/laravel-test/public”

域名根目录权限,注意:需要链接到 laravel 项目的 public 文件夹下

<Directory “/Users/dengzemiao/Sites/laravel-test/public”>

运行列出目录(正式服务器需要去掉 Indexes)

Options Indexes FollowSymLinks

运行权限覆盖

AllowOverride All

运行所有人访问

Require all granted

  • 重启 apache,运行 $ sudo apachectl -k restart,打开 http://www.dzm.com/(由于我是本地电脑安装的 apache 测试,非真服务器环境,本地需要修改 hosts 文件,添加上 127.0.0.1 www.dzm.com)。

  • 打开链接如果报错 failed to open stream: Permission denied,说明文件有权限问题,解决办法:直接给整个项目加上访问权限:

// 进入到项目存放目录(这个看自己的存放位置)

$ cd /usr/local/var

// 直接给整个项目添加权限

$ chmod -R 777 laravel-test

// 如果报错 chmod: Unable to change file mode on laravel-test/storage/framework/views/eef325e700d1864421506922200f7548a0f32fd8.php: Operation not permitted

// 我这里是直接删除了这种文件,一看估计就是个缓存文件,然后重新添加权限

Vue

  • 什么是MVVM?

  • mvvm和mvc区别?它和其它框架(jquery)的区别是什么?哪些场景适合?

  • 组件之间的传值?

  • Vue 双向绑定原理

  • 描述下 vue 从初始化页面–修改数据–刷新页面 UI 的过程?

  • 虚拟 DOM 实现原理

  • Vue 中 key 值的作用?

  • Vue 的生命周期

  • Vue 组件间通信有哪些方式?

  • vue 中怎么重置 data?

  • 组件中写 name 选项有什么作用?

  • Vue 的 nextTick 的原理是什么?

  • Vuex 有哪几种属性?

    开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

  • 20
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值