问题标签 [laravel-5.2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
9 回答
23760 浏览

php - 重定向后不保留会话数据

我正在尝试实现一些自定义闪存消息,并且在重定向后会话数据被破坏时遇到了一些问题。

以下是我创建我的 Flash 消息的方法:

这是flash()函数的声明:

这是我使用 SweetAlerts 检查会话/显示闪存消息的方式。此代码包含在我在所有 Blade 模板中扩展的主布局文件的底部。

flash()如果我在显示视图之前调用该函数,上面的代码将起作用,如下所示:

但是,如果我在重定向到另一个页面之前调用它,它将不起作用,如下所示:

为什么重定向时会话数据丢失?我怎样才能让它持续存在,以便我可以显示我的 Flash 消息?

0 投票
1 回答
5862 浏览

laravel - Route::auth() 和命名空间

我曾经make:auth创建过在基本应用程序中运行良好的登录脚手架。但是,我正在创建一个包,因此我已将文件移动到包中它们各自的位置。

make:auth我已将应用程序创建的路由命名为

当我注释掉Route::auth();一切似乎工作正常。当我继续时,Route::auth我得到一个错误

我无法理解问题所在。我对auth()辅助功能了解不多。

0 投票
1 回答
1429 浏览

php - Laravel 5.2 - 更新和路由组中间件现在不再被调用

所以我在最新的 Laravel 5.1 上,今天更新到 5.2。在我的路线中,我有这样的事情:

api-version 中间件基本上检查 api-version 的标头,然后在路由操作中适当地填写 {api-namespace}。这在 5.1 中运行良好。但是,自从升级以来Class App\\Http\\Controllers\\{api-namespace}\\MembersController does not exist,它甚至根本没有影响我的中间件。我有一种感觉,他们可能已经切换了代码的顺序,以便在运行中间件之前验证路由操作,因为如果我将中间件放在全局范围内,它就可以正常工作。但是,我需要这个 api-version 组,所以如果有人知道如何解决这个问题,我会全力以赴。

按要求:

内核.php

ApiVersionMiddleware.php

另请注意,我将中间件移到了中间件组中,但它仍然无法正常工作。仅供参考

更新:

我尝试将中间件移动到全局,但此时它有 0 有关路由的信息,这意味着它无法修改要替换的路由{api-namespace}。我认为问题是在中间件运行之前检查了“使用”的路线,这显然失败了。谁能证实这一点和/或告诉我如何在 5.2 中实现这样的东西?

更新 2:

所以我发现了这个问题。在Illuminate/Routing/Router.php:834路由器中尝试替换隐式绑定。这发生在中间件之前并检查有效“使用”的路由。我不知道如何解决这个问题,因为它完全颠覆了我目前正在做的事情。有什么建议么?

0 投票
4 回答
14164 浏览

php - 验证失败后,Laravel 在输入中重置值?

我现在很困惑,我正在从 Laracast 学习 Laravel,根据讲师的说法,验证失败后,表单不会重置用户输入的值。但是在测试验证时,当我提交表单时会重置所有内容。

另一个问题是当我尝试访问它时未定义的变量。 $errors

我的控制器

我的观点

他使用 v5.0,我使用 v5.2

0 投票
2 回答
82 浏览

laravel-5.2 - 设置 Laravel 应用程序 URL

Laravel 在这里相当新,我正在努力理解如何让 Laravel 5.2 知道它所在的位置。这是问题:

我使用 设置了身份验证php artisan make:auth,现在可以看到可爱的登录页面,以及菜单中的登录和注册链接。问题是这些链接没有转到正确的位置。它们分别指向/login/register在代码中,转换为http://localhost/loginor http://localhost/register。但是由于我还没有在生产站点上并且正在本地开发,所以我的网站位于http://localhost/projectname/public.

我已经进入config/app.php并尝试了 URL 参数的各种值,但这些都没有效果。

我可以做些什么来让这些链接反映完整的站点 URL,而无需每次都手动输入?

0 投票
1 回答
5889 浏览

php - 在 Laravel 中使用 TesseractOCR

我正在一个新网站上试用 TesseractOCR。

我安装了新版本的 Laravel (5.2.4),在我的服务器 (Debian Jessie) 上安装了 Tesseract,并为 Tesseract 安装了 PHP 包装器;tesseract-ocr-for-php

我已按照所有设置说明将软件包安装到应用程序上。

在我的routes.php文件中,我有:

图像myimage.jpg存在于文件夹images内称为public文件夹的位置。

当我导航到example.com/test我得到:

TesseractOCR.php 第 235 行中的 ErrorException:file_get_contents(/tmp/75176598.txt):无法打开流:没有这样的文件或目录

根据readme.md您可以通过使用来解决该问题$tesseract->setTempDir('./my-temp-dir');

因此,我尝试将routes.php文件更改为:

但是,这只是使用不同的文件路径给出相同的错误:

TesseractOCR.php 第 235 行中的 ErrorException:file_get_contents(/var/www/tesseract/public/images/1770521095.txt):无法打开流:没有这样的文件或目录

我该如何解决这个错误?

0 投票
1 回答
2801 浏览

laravel - Laravel 5.2 TokenGuard 实现

如何使用令牌保护来创建 API?我试过它来实现它,但我收到了错误

call_user_func_array() 期望参数 1 是一个有效的回调,类 'Illuminate\Auth\TokenGuard' 没有方法 'attempt'

0 投票
1 回答
1459 浏览

laravel - Laravel 5.2 重置密码 + Mandrill

我有 Laravel 5.2 全新安装。

我做了以下工作:

  1. 我已经设置了我的.env文件 MAIL_DRIVER=mandrill SECRET=my_mandrill_api_key
  2. 我已经安装了 Guzzle ( https://github.com/guzzle/guzzle )
  3. 我已经在视图中设置了我的电子邮件(https://github.com/laravel/laravel/blob/5.0/resources/views/emails/password.blade.php
  4. 我已经修复了证书问题(PHP cURL 错误代码 60

因此,似乎一切都正确完成。

当我填写电子邮件以重置密码并按发送密码重置链接按钮时,我收到以下错误

服务器错误:POST https://mandrillapp.com/api/1.0/messages/send-raw.json导致 500 Internal Server Error响应:{"status":"error","code":-1,"name":"ValidationError","message":"You must specify a key value"}

我检查了我在 Mandrill ( https://mandrillapp.com/settings/api ) 中的日志,我的操作没有日志。

从 Mandrill 的错误中,我知道它没有获取 api 密钥,所以由于某种原因,api 密钥和其他值没有传递给 Mandrill api。

问题:有什么遗漏/错误?

注意:现在我正在本地环境中构建应用程序。我的本地环境 Windows 10/Bitnami WAMP 堆栈 7/我也在使用 Mandrill API。

在此处输入图像描述

0 投票
9 回答
77888 浏览

laravel - 未定义的变量:Laravel 中的错误

当我想在我的 laravel 项目中注册用户时,页面总是说

未定义变量:错误(查看:/var/www/resources/views/auth/register.blade.php)“

根据 Laravel 文档,$errors应始终自动设置:

因此,重要的是要注意 $errors 变量将始终在每个请求的所有视图中可用,从而使您可以方便地假设 $errors 变量始终已定义并且可以安全使用。

当我使用时,我在每个视图上都有这个:

或当我想使用该$errors变量时的任何其他方式。

为什么是这样?我以前从来没有遇到过这个问题。

有人能帮助我吗?

0 投票
1 回答
3168 浏览

php - Laravel 5.1 到 5.2 作曲家更新错误

每当我尝试运行 composer update 时,我现在都会收到一个错误,其根本原因如下

调用未定义的方法 Illuminate\Bus\Dispatcher::mapUsing()

我可以确认 Laravel 5.2 已正确安装,所有其他依赖项也是如此。这仅在运行 php artisan clear-compiled 时发生。

我还根据几个小时前 Laracasts 论坛中的建议更新了我的基本控制器

但我仍然收到错误

更新:只要应用程序被引导,就会发生这种情况。我的应用程序现在甚至无法运行。

更新 2,完整的堆栈跟踪: