项目的前期为了开发速度会使用单一应用,就是一个 Laravel 框架实现 API 和后台接口。
用户体量上来后,一台服务器不够了,项目就采用了 API 和 后台接口分开放到不同的服务器上面。
发现路由数量变多后影响到了性能,这个时候需要区别不同服务器去加载不同的路由。
如何去别不同的服务器区别环境,但是又要区别是生产环境。
代码实现
可以使用 app()->environment(); 方法实现,生产环境和测试环境的区别。
查看代码后发现可以使用更多的方法。
/** * 获取或检查当前应用程序环境。 * * @return string|bool */ public function environment() { // 返回传递给函数的参数数量 if (func_num_args() > 0) { // 如果第一个参数是数组就去第一个,不是的话取全部的。 $patterns = is_array(func_get_arg(0)) ? func_get_arg(0) : func_get_args(); return Str::is($patterns, $this['env']); } return $this['env']; }
Str::is 函数判断给定的字符串是否匹配给定的模式。星号 * 可以用来表示通配符:
# 判断在 API 环境 app()->environment("production.api"); # 判断在 ADMIN 环境 app()->environment("production.admin"); # 判断在所有环境 app()->environment("production.*");
修改 RouteServiceProvider 文件
/** * Define the routes for the application. */ public function map() { // 公共路由 if (app()->environment('production.api')) { # production api 路由 $this->mapApiRoutes(); } elseif (app()->environment('production.admin')) { # production admin 路由 $this->mapAdminRoutes(); } else { # local testing stanging 环境下加载所有路由 $this->mapApiRoutes(); $this->mapAdminRoutes(); } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。
我的插座有问题。io作为一名广播员与laravel echo合作。 我试过什么: 我可以看到用户在日志中连接: 我的队列正在运行,正在正确记录所有事件。 我可以在redis控制台中完美地看到redis我的事件和数据库通知。 但是没有广播任何事件,我也没有在laravel echo服务器控制台中看到它们。一切都在我的本地主机上运行,但在生产环境中没有,我失去了理智。 以下是我的laravel ech
我在我的Laravel项目中有这个ajax请求(这是一个简单的版本,但它正在工作): 当我在本地工作,我使用PHP工匠服务ajax调用工作,但当我部署到我的正式服没有(因为路径 /admin/lessons/addMember/licenseMemberId不是服务器中的完整路径)。最好的方法应该是走这条路线,但我不知道怎么走。这是路由表: 有没有办法在参数设置中使用laravel路线?如果没有,
生产中的EAP EAP在默认的FreeRADIUS安装中开箱即用。但是,也有一些要点需要注意或更改以适应您的环境。在本节中,我们将介绍以下几点: 适当的公钥基础设施(PKI)的重要性 配置内部隧道虚拟服务器 内部和外部隧道识别的问题 禁用未使用的EAP方法 公共密钥基础设施简介公钥基础结构主要用于两件事: 验证某人的身份 通过不安全的连接交换安全数据 为了确保某人是他们声称的人,我们使用证书颁发机
我用的是插座。io和laravel echo服务器上安装了Redis和SSL,但未安装套接字。io文件没有加载到生产ubuntu服务器上。在我的本地窗口中一切正常。我不确定生产是否需要任何其他配置。我还允许UFW 6001端口。 这是我的laravel-echo-server.json档案。 } 我在不同的门户网站上搜索,并得到一些帮助,我应用了以下一些东西。 允许ufw端口6001 运行命令la
更新时间:2019-08-31 11:22:33 服务分为生产环境与开发环境,未发布的服务认为是在开发环境,发布后的服务为生产环境的服务。生产环境的服务才可以在web工作台,或代码工程内调用。生产环境的服务不可再进行修改,需要在开发环境中修改部署发布服务后,才可生效。 服务运维监控功能是为生产环境的服务提供的,您可以在此查看生产环境服务的调用量及运行日志。
生产环境打包要做两件事: 压缩应用代码; 使用 Vue.js 指南中描述的部署方式去除 Vue.js 中的警告。 下面是配置示例: // webpack.config.js module.exports = { // ... other options plugins: [ // short-circuits all Vue.js warning code new webp
在构建我们的生产bundle时有两件事情要做: 1.压缩我们的应用代码; 2.使用Vue.js指南中描述的设置删除Vue.js源代码中的所有警告。 这里有一个示例的配置: // webpack.config.js module.exports = { // ... 其余配置 plugins: [ // 忽略所有Vue.js警告代码 new webpack.DefinePlu
如题,微信小程序可以直接调用__wxConfig.envVersion,知道当前的环境是什么? 那如果是飞书小程序,如何判断当前的环境是开发还是生产?