PHP:当到达终点时,它不是在本地找到的,而是在远程找到的

PHP:当到达终点时,它不是在本地找到的,而是在远程找到的,php,laravel,Php,Laravel,很抱歉,我对PHP/Laravel非常陌生(我是一个节点用户,必须深入研究这段遗留代码)。我有一个本地运行的服务器,但每当我使用Postman检查一些端点时,我总是收到500个服务器错误的响应。 我运行了命令$php artisan serve--port=8000,并得到了响应: Laravel开发服务器已启动: 现在,每当我尝试向服务器发送任何请求[localhost:8000/getTowns]时,我都会收到一个500错误,在终端中没有堆栈跟踪或显示错误,它是完全空的 现在,当我使用命令$

很抱歉,我对PHP/Laravel非常陌生(我是一个节点用户,必须深入研究这段遗留代码)。我有一个本地运行的服务器,但每当我使用Postman检查一些端点时,我总是收到500个服务器错误的响应。 我运行了命令
$php artisan serve--port=8000
,并得到了响应:

Laravel开发服务器已启动:

现在,每当我尝试向服务器发送任何请求[localhost:8000/getTowns]时,我都会收到一个500错误,在终端中没有堆栈跟踪或显示错误,它是完全空的

现在,当我使用命令
$php-S localhost:8000启动服务器时,我得到:

PHP 7.1.23开发服务器于2019年11月13日星期三12:55:52启动

倾听

文档根目录为/Users/user/Desktop/legacy

按Ctrl-C退出

那么当我提出任何要求时

[Wed Nov 13 12:56:06 2019] ::1:59504 [404]: /getTowns - No such file or directory
[Wed Nov 13 12:56:07 2019] ::1:59505 [404]: /favicon.ico - No such file or directory
我不知道有什么信息与此相关,但是,我会在需要时更新更多相关代码。谢谢

更新: 查看日志,我看到了很多:

laravel.EMERGENCY: Unable to create configured logger. Using emergency logger. {"exception":"[object] (InvalidArgumentException(code: 0): Log [] is not defined.

laravel.ERROR: Unable to prepare route [/] for serialization. Uses Closure. {"exception":"[object] (LogicException(code: 0): Unable to prepare route [/] for serialization. Uses Closure. 

这可能是一个愚蠢的问题,也可能是一个打字错误,但是发布的消息说laravel dev服务器运行在端口3000上。您发出的请求位于端口8000上。如果您的端口事实上是正确的(例如,aka,默认的8000),那么我最好的猜测是您没有运行
composer安装在项目根文件夹(“遗留”)中

对于php本机服务器,您将在项目所在的“遗留”文件夹中启动它。Laravel项目的webroot应该位于项目的“public”文件夹中(在您的情况下,我假定为“legacy/public”)


编辑: 由于无法成功运行
composer安装

问题在于路线可能如下所示:

Route::get('/some/route', function() {
   return 'Hello World';
});
此路由使用无法序列化的闭包。您应该更新它,以便它使用控制器方法

差不多

Route::get('/some/route', 'UserController@getIndex');

干杯

您好,抱歉,确保他们都在同一个端口上这只是我的一个输入错误,但错误仍然是使用127.0.0.1和localhost之间的相同区别?
host localhost
的输出是什么?问题是在运行
php artisan-service
之前“composer安装”的samedid?如果省略getTowns部分怎么办?一个500响应代码意味着逻辑错误。这是我检查过的一个输入错误,他们都在处理这个问题same@Ctfrancia . - 如果从legacy中的公用文件夹而不是实际的legacy文件夹启动本机php服务器(php-S localhost:8000),会怎么样?另外,您是否在“legacy”文件夹中运行了
composer install-o
?我在
composer.lock
文件所在的位置运行了命令,并且在该命令之后,我现在收到一个错误:在Route.php第917行中:无法为序列化准备路由[/]。使用闭包。脚本php artisan optimize处理返回错误代码的更新后cmd事件1@Ctfrancia在这种情况下,问题相当清楚。您正在某处使用使用闭包函数的管线定义。我已经更新了我的答案。但对于最初的问题,应该清楚的是,无法运行composer安装是一个核心问题。您的更新解决了路由错误,有一个类似于前面提到的。我认为,由于这是一个遗留问题,接下来的一些其他问题和答案是,我从一个旧版本更新到了一个新版本,以及发生了变化的事情。。。这会很难看的哈哈!谢谢你的帮助!