问题1
账号登录报500错误,也没有返回错误信息,没办法只能使用原始方法,到现在一行一行打印。到 Log::info()
后面就无法正常显示了,那么问题就找到了。
导致无法写入日志的问题,是由于代码更新时添加了文件是root
用户,所以创建日志文件也是root
权限,导致其它用户的www
权限无法写入日志文件中。
账号登录报500错误,也没有返回错误信息,没办法只能使用原始方法,到现在一行一行打印。到 Log::info()
后面就无法正常显示了,那么问题就找到了。
导致无法写入日志的问题,是由于代码更新时添加了文件是root
用户,所以创建日志文件也是root
权限,导致其它用户的www
权限无法写入日志文件中。
由于数据是从mysql和mongodb里的两个表中取数据,并且根据两个表中的字段关联来获取数据,所有没有直接的sql获取。只有通过循环获取。然而获取的数据是数组,无法使用laravel
自带的paginate
分页方法。下面是解决办法:
Supervisor 是用Python
开发的一个client/server
服务,是Linux/Unix
系统下的一个进程管理工具,不支持Windows系统。它可以很方便的监听、启动、停止、重启一个或多个进程。用Supervisor
管理的进程,当一个进程意外被杀死,supervisort
监听到进程死后,会自动将它重新拉起,很方便的做到进程自动恢复的功能,不再需要自己写shell
脚本来控制。
因为Supervisor
是Python开发的,安装前先检查一下系统否安装了Python2.4
以上版本。下面以CentOS7
,Python2.7
版本环境下,介绍Supervisor
的安装与配置步聚:
也就是单文件模式
要想改成每日的daily模式可以在bootstrap/app.php下添加:
|
|
Laravel 事件机制实现了一个简单的观察者模式,让我们可以订阅和监听应用中出现的各种事件。事件类 (Event) 类通常保存在 app/Events
目录下,而它们的监听类 (Listener) 类被保存在 app/Listeners
目录下。如果你在应用中看不到这些文件夹也不要担心,因为当你使用 Artisan 命令来生成事件和监听器时他们会被自动创建。
事件机制是一种很好的应用解耦方式,因为一个事件可以拥有多个互不依赖的监听器。例如,这里我们基于之前基于模型+缓存对文章增删改查这篇文件对文章保存后缓存的处理做进一步优化。我们将文章保存(新建/修改)视为一个事件,将保存文章内容到缓存放到监听器中实现:
Lumen 的队列服务为不同的队列后端系统提供了一套统一的 API 。队列允许你将一个耗时的任务进行延迟处理,例如像 e-mail 发送。这能让应用程序对页面的请求有更快的响应。
Lumen 和 Laravel 的队列功能除了接下来会列出来的不同点以外,并没有太大区别,所以更多关于 Lumen 队列的使用,请参阅 Laravel 文档 。
Lumen
可以使用 Illuminate\Http\Request
实例中的 file
方法来获取上传文件。file
方法返回的对象是 Symfony\Component\HttpFoundation\File\UploadedFile
类的实例,该类继承了 PHP 的 SplFileInfo
类,并提供了许多和文件交互的方法:
|
|
你可以使用请求的 hasFile
方法确认上传的文件是否存在:
创建数据表
|
|
Lumen 提供了多种不同的处理方法来对应用程序传入的数据进行验证。默认情况下,Lumen 的基底控制器类使用了 ValidatesRequests trait,其提供了一种便利的方法来使用各种强大的验证规则验证传入的 HTTP 请求。
Lumen 和 Laravel 验证功能除了接下来会列出来的不同点以外,并没有太大区别,所以更多关于 Lumen 验证的使用,请参阅 Laravel 文档 。
Lumen 与 Laravel 不同,表单请求验证需要Laravel支持。Lumen 可以使用
$this-validate
方法来验证。还有不同的是,Lumen 支持路由闭包的方式直接使用
validate
方法