安装
安装laravel
1.通过使用 Composer 安装 Laravel 安装器
composer global require laravel/installer
???
确保将 Composer's system-wide vendor 目录放置在你的系统环境变量 $PATH 中,以便系统可以找到 Laravel 的可执行文件。该目录根据你的操作系统存在不同的位置中;一些常见的配置包括 :
macOS and GNU / Linux 发行版: $HOME/.config/composer/vendor/bin
Windows: %USERPROFILE%\AppData\Roaming\Composer\vendor\bin
laravel new test 命令无效
2.通过 Composer 创建项目
composer create-project --prefer-dist laravel/laravel test //下载下来不是最新版本???
3.启动本地开发环境 ???
php artisan serve
4.有其他方式下载框架指定版本??? github下载laravel版本后解压后或者(git clone laravel相应版本分支???localhost运行报无法响应页面500error),是不是通过 php artisan key:generate 命令设置密钥?根本不是32字符串而是base64的!
- 6.0安装需求 Mac下默认php版本7.1 已经通过集成环境设置7.2当时环境变量不生效 影响框架吗?Mac下扩展如何设置JSON PHP 拓展、Mbstring PHP 拓展
OpenSSL PHP 拓展、PDO PHP 拓展
5.web服务器优雅链接配置???
- Apache Nginx
location / {
try_files $uri $uri/ /index.php?$query_string;
}
配置信息
环境变量???
- 如果是团队开发,则可能希望应用程序中仍包含 .env.example 文件。因为通过在示例配置文件中放置占位值,团队中的其他开发人员可以清楚地看到哪些环境变量是运行应用程序所必需的。你也可以创建一个 .env.testing 文件,当运行 PHPUnit 测试或以 --env=testing 为选项执行 Artisan 命令时,该文件将覆盖 .env 文件中的值。
Tip:.env 文件中的所有变量都可被外部环境变量(比如服务器级或系统级环境变量)所覆盖。
确定当前环境???
- Tip:应用程序当前所处环境检测可以被服务器级的 APP_ENV 环境变量覆盖。这在为相同的应用程序配置不同的环境时是非常有用的,这样你可以在你的服务器配置中为给定的主机设置与其匹配的给定的环境。
文件夹结构
Bootstrap 目录
bootstrap 目录包含引导框架的 app.php 文件。该目录还包含了一个 cache 目录, cache 目录下存放着框架生成的用来提升性能的文件,比如路由和服务缓存文件。
Storage 目录
storage 目录包含编译后的 Blade 模板、session 会话生成的文件、缓存文件以及框架生成的其他文件。这个目录被细分成 app 、 framework 和 logs 三个子目录。app 目录可以用来存储应用生成的任何文件。 framework 目录用来存储框架生成的文件和缓存。最后, logs 目录包含应用的日志文件。
storage/app/public 可以用来存储用户生成的文件,比如需要公开访问的用户头像。你应该创建一个 public/storage 的软链接指向这个目录。你可以直接通过 php artisan storage:link 命令来创建此链接。
Vendor 目录
vendor 目录包含你所有的 Composer 依赖包。
部署
优化配置加载???
当你将应用程序部署到生产环境时,你应当确保在你部署过程中运行 config:cache Artisan 命令
php artisan config:cache
//此命令将所有 Laravel 的配置文件合并到一个缓存文件,这将极大地减少框架在加载配置值时必须对文件系统进行访问的次数。
//注意:如果在你部署过程中执行 config:cache 命令,你应当确保你仅从你的配置文件中调用 env 函数。一旦配置被缓存,.env 文件将不被加载并且对 env 函数的所有调用将返回 null。
优化路由加载???
如果你想构建具有许多路由的大型应用程序,你应当确保在你部署的过程中运行 route:cache Artisan 命令:
php artisan route:cache
//此命令将为所有路由注册缩减到一个缓存文件中的单个方法调用,从而在注册数百个路由时提高了路由注册的性能。
注意:由于此功能使用 PHP 序列化,你仅能缓存专门使用基于控制器路由的应用程序路由。PHP 不能序列化闭包路由。
网友评论