PHP - Laravel 创建项目到服务器(nginx、apache)运行(附带目录结构)
$ php artisan ide-helper:generate
- 如果报错
Method Illuminate\Routing\Route::get does not exist.
解决办法:找到 /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
项目运行(本地
、apache
、nginx
)
- 方式一:命令行启动,运行窗口不能关闭
$ 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
// 我这里是直接删除了这种文件,一看估计就是个缓存文件,然后重新添加权限
- 然后就访问成功!
-
方式三:
nginx
启动,注意文件夹的访问权限。 -
找到
nginx.conf
新增一个虚拟机,虚拟机模板是直接拷贝官网的
server {
监听端口
listen 8081;
主机名称
server_name www.dzm.com;
域名根目录,注意:需要链接到 laravel 项目的 public 文件夹下
root /usr/local/var/laravel-test/public;
add_header X-Frame-Options “SAMEORIGIN”;
add_header X-XSS-Protection “1; mode=block”;
add_header X-Content-Type-Options “nosniff”;
index index.html index.htm index.php;
charset utf-8;
location / {
try_files $uri u r i / / i n d e x . p h p ? uri/ /index.php? uri//index.php?query_string;
}
location = /favicon.ico { access_log off; log_not_found off; }
location = /robots.txt { access_log off; log_not_found off; }
error_page 404 /index.php;
官方配置
location ~ .php$ {
# 本地 php 服务端口 $ sudo php-fpm
# 设置监听端口
fastcgi_pass 127.0.0.1:9000;
# 设置 nginx 的默认首页文件
fastcgi_index index.php;
# 参数
fastcgi_param SCRIPT_FILENAME r e a l p a t h r o o t realpath_root realpathrootfastcgi_script_name;
# 引入配置文件
include fastcgi_params;
}
本地配置(Mac)
location ~ .php$ {
设置监听端口
fastcgi_pass 127.0.0.1:9000;
设置 nginx 的默认首页文件
fastcgi_index index.php;
引入 fastcgi 的配置文件
include fastcgi.conf;
}
location ~ /.(?!well-known).* {
deny all;
}
错误日志
error_log /usr/local/var/laravel-test/logs/error.log;
成功日志
access_log /usr/local/var/laravel-test/logs/access.log;
}
-
刷新
nginx
配置文件,运行$ nginx -s reload
,打开http://www.dzm.com/
或者http://www.dzm.com:8081/
(由于我是本地电脑安装的nginx
测试,非真服务器环境,本地需要修改hosts
文件,添加上127.0.0.1 www.dzm.com
)。 -
打开链接如果报错
failed to open stream: Permission denied
,可以看方式二:apache 启动
尾部的解决方法。 -
然后就访问成功!访问结果跟
方式二:apache 启动
一样。 -
到这里
Laravel
创建项目到服务器(nginx、apache)
运行就OK
了!!
六、目录结构
-
【重要目录】app 目录
:项目的核心目录,主要用于存放核心代码,所编写的代码绝大多数也会放到这里,如控制器、模型等。 -
控制器
存放app/Http/Controllers
-
模型存放
存放app/Models
,系统默认是根目录,文件夹需新建 -
bootstrap 目录
:Laravel
启动目录,目录包含了框架启动和自动加载设置的文件,autoload.php
文件用于自动载入需要的类文件,该文件夹只用来看一般不用改动,上线此目录要有可写的权限$ chmod -R 777 目录名
-
【重要目录】config 目录
:项目的配置日录,主要存放配置文件,比如数据库的配置。 -
app.php
: 项目主要配置文件 -
database.php
: 针对数据库的配置 -
文件名都可以见名思意 …
-
database 目录
:目录包含了数据迁移及填充文件,就是使用文件的方式,来管理数据库,创建一个PHP
文件,在文件中设计表结构,运行该文件,完成表的创建。 -
public 目录
:Laravel
项目的web虚拟主机
指定的目录(也就是网址根目录)
,项目的入口文件和系统的静态资源目录(css, img, js, uploads)
后期使用的外部静态文件(js、 css.图片等)
都需要放到Public
目录下。 -
【重要目录】resources 目录
:存放视图文件,还有就是语言包文件的目录。(注意:Laravel 中的模板引擎为 blade 模板引擎,后缀为 .php,也可以称为双后缀文件 例: welcome.blade.php)
-
【重要目录】routes 目录
:定义路由的目录,Laravel
中所有的访问请求,都必须事先定义好路由,web.php
定义网页路由,api.php
定义接口路由。
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
,同时减轻大家的负担。**
[外链图片转存中…(img-Dl5t73Jw-1714944474273)]
[外链图片转存中…(img-tAIN7dmK-1714944474274)]
[外链图片转存中…(img-rokyReXu-1714944474274)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!