当前位置: 首页 > 知识库问答 >
问题:

如何在CentOS7上设置Laravel的路线路径?

羊和光
2023-03-14

我创建laravel项目,在我的本地Windows电脑上工作良好。一旦我上传到Centos7服务器(通过SSH),我的所有路由都不工作。我试图通过行动修复,例如清除缓存,删除供应商文件夹和重做安装作曲家,但没有任何帮助。我从下面的日志中抓取。

[2018-12-20 13:09:17]本地的。错误:逻辑异常:无法为序列化准备路由[api/user]。在 /var/www/html/srp/vendor/laravel/framework/sr$Stack跟踪中使用Closure:

#0/var/www/html/srp/vendor/laravel/framework/src/illumb/Foundation/Console/RouteCacheCommand.php(61):illumb\Routing\Route-

#1[内部功能]:照亮\Foundation\Console\RouteCache命令-

#2 /var/www/html/srp/vendor/laravel/framework/src/Illuminate/Container/Container.php(508):call_user_func_array(Array, Array)

#3/var/www/html/srp/vendor/laravel/framework/src/illumb/Console/Command.php(169):illumb\Container\Container-

#4/var/www/html/srp/vendor/symfony/console/Command/Command.php(261):illumb\console\Command-

#5/var/www/html/srp/vendor/laravel/framework/src/light/Console/Command.php(155):Symfony\Component\Console\Command-

#6/var/www/html/srp/vendor/symfony/console/Application.php(817):illumb\console\Command-

#7/var/www/html/srp/vendor/symfony/console/Application.php(185):symfony\Component\console\Application-

#8/var/www/html/srp/vendor/symfony/console/Application.php(116):symfony\Component\console\Application-

#9/var/www/html/srp/vendor/laravel/framework/src/illumb/Foundation/Console/Kernel.php(121):Symfony\Component\Console\Application-

#10/var/www/html/srp/artisan(35):照亮\基础\控制台\内核-

非常感谢您的建议,谢谢。

共有2个答案

南宫才英
2023-03-14

下面的链接可以给你一个更好的想法,

拉威尔无法准备路线。。。用于序列化。使用闭包

错误是由于调用了route:cache命令,并且您的路由可能在那里有一些闭包,因此请避免可能是真正原因的route:cache

宣星光
2023-03-14

问题是一个路由使用闭包而不是控制器,它看起来像这样:

//                       Thats the Closure
//                             v 
Route::get('/some/route', function() {
    return 'Hello World';
});

因为闭包不能序列化,所以当您有使用闭包的路由时,您不能route:cache缓存您的路由。这就是为什么你会看到这个错误。清除缓存或路由无效,因为这是编译时错误。

如果您的路由中没有包含闭包,但仍会出现此错误,请检查

路线/api.php

Laravel向上述文件添加了一个默认的身份验证api路由。

Route::middleware('auth:api')->get('/user', function (Request $request) {
    return $request->user();
});

如果需要,可以将其注释掉或替换为调用控制器方法

要替换为控制器,请执行以下操作:

 Route::middleware('auth:api')->get('/user', 'UserController@index');

如果你不需要它,就把它注释掉。

 类似资料:
  • 问题内容: 如何设置路径而不必在每次重新启动计算机时都进行设置? 尝试在Ubuntu计算机上设置JAVA_HOME时,使用了以下方法: 1)从终端执行以下命令: 2)我直接编辑了文件以在其中添加路径 真正奇怪的是,如果我在上述两种方法中的一种之后使用命令进行测试,我可以看到它设置正确,但是如果重新启动,再次注销/登录或者甚至在机器上工作了一段时间之后,都不再可用设置,我必须使用以上两种方法中的任何

  • 如何设置路径,而不必在每次重新启动计算机时设置它? 1)从终端执行以下命令: 2)我已经直接编辑了文件,以便在其中添加路径 真正奇怪的是,如果在上述两种方法之后使用命令测试,我可以看到它设置正确,但是如果重新启动,再次logout/login,甚至在机器上工作一段时间后,就不再设置了,我必须使用上述两种方法中的任何一种方法再次设置它。 所以谁能告诉我我在这里做错了什么吗?

  • 我必须在tomcat 7中部署我的app.war文件。的。war文件名后面是它的版本号。这里我需要设置一个上下文路径,这样实际的url将只包含应用程序名(没有版本号)。 我的要求是,服务器中不应该有编辑.xml。 这是我的背景。xml如下所示。 context.xml放在war at /META-INF文件夹中。谁能告诉我我错在哪里?

  • 我正试图与拉威尔和vue一起打造一个水疗中心。还安装了用于管理目的的Voyager。旅行者号http://localhost:8000/admin .. 它使用了laravel web路由。 现在无法访问它,我正在使用Vue路由器为我的路由:示例为我的家庭路由(vue)http://localhost:8000/home 应用程序。js 一个pp.vue Home.vue 指数刀身php 网状物p

  • 我正试图使用laravel上提到的作曲家在mac上安装laravel。com安装页面。 我设置了~/的路径。作曲家/供应商/bin,并试图执行laravel命令 -bash:laravel:未找到命令 还尝试将路径添加到~/。bashrc文件,但这没有帮助! 有人能帮我解决这个问题吗?

  • 我是一个Spring新手,正在制作一个Spring Web应用程序(不是Spring-boot,这有多大区别?)。部署在Tomcat7服务器上。 应用程序已启动并运行。我的问题是只能通过标准URL访问: http://mycompany.com:8081/cwing-0.0.3-snapshot/index.html 以下操作不起作用:http://mycompany.com:8081/cwing