我目前在Win 10机器上使用XAMPP(PHP 5.6.21)。
我正在从.net的网站迁移到laravel。直到现在我几乎没有问题,以前的大多数问题来自经验不足。但我找不到这个错误的解决方案。
routes.php文件
//Operaciones
Route::resource('operaciones', 'OperacionesController');
//Ruta al cierre de Operaciones
Route::any('operaciones/cerrar', ['as' => 'operaciones/cerrar', function(){
dd('asdasd');
}]);
资源路线工作正常,但第二条路线带给我一个白色(空白)页面
如果我在网络浏览器中添加任何内容并不重要
如果我把
http://localhost:8080/mutualv0/public/operaciones/asdasdasd
白页,如果我把
http://localhost:8080/mutualv0/public/operaciones/cerrar
再次......
但是,如果你试试这个
http://localhost:8080/mutualv0/public/operaciones2
NotFoundHttpException
我在日志中没有任何内容,我安装了一个laravel链接检查器,并没有给我任何错误...我只是不知道该怎么办...
更新
我试过
php artisan route:cache
它给我带来了错误“无法为序列化准备路由[operaciones / cerrar]。使用闭包”
我改变了到这个
的路线Route::get('operaciones/cerrar', ['as' => 'operaciones/cerrar', 'uses' => 'OperacionesController@cerrar']);
并向OperacionesController添加一个函数
public function cerrar()
{
dd('hello');
}
我使用了 php artisan serve ,但仍然有同样的错误...与(空白)页面...
更新2
我使用的链接是
<a href="{{ route('operaciones/cerrar') }}" class="btn btn-success" role="button">Cerrar operaciones seleccionadas</a>
我尝试将链接更改为
<a href="{{ route('cerraroperaciones') }}" class="btn btn-success" role="button">Cerrar operaciones seleccionadas</a>
并将路线更新为
Route::any('operaciones/cerrar', [
'as' => 'cerraroperaciones', 'uses' => ' OperacionesController@cerrar'
]);
但它引发了我 Route [cerraroperaciones]未定义
我还试图做一个 link_to_action ,并在OperacionesController @ cerrar上抛出一个“未定义的动作”
更新3
上传到GitHub
答案 0 :(得分:0)
假设'mulualv0'目录是顶级目录,那么您应该使用以下方式访问您的网站:
http://localhost:8080/mutualv0/operaciones/cerrar
顶级目录是项目的根目录。它包括app,bootstrap,config等目录。
不要在链接中包含“公共”目录。您的服务器应配置为提供公共目录。
答案 1 :(得分:0)
首先,尝试运行这个工匠命令
php artisan route:cache
如果它不起作用,请检查它是否是XAMPP问题。
你需要将Public
文件夹设为Rootdirectory
,(如果这对你有用,那就是问题)
1)禁用XAMPP,(如果你使用的是DB,只在XAMPP中禁用php)
2)打开CMD&amp; cd到app根目录(你可以找到.env文件..etc)
3)使用工匠php artisan serve
,
这会显示一个链接,请尝试http://localhost:8000/operaciones/cerrar
修改强>
将路线放在资源路线上方
Route::any('operaciones/cerrar', [
'as' => 'cerraroperaciones', 'uses' => ' OperacionesController@close',
]);
Route::resource('operaciones', 'OperacionesController');
<强>照片管理强>
<强> RESULT 强>
答案 2 :(得分:0)
'env' => env('APP_ENV',
'development'), 'debug' => env('APP_DEBUG', true),
即可
找到错误。你的第二条路线它们与你没有任何关系 OperacionesController 这条路线将分开工作。
Route::any('operaciones/cerrar', ['as' => 'operaciones/cerrar', function(){
dd('asdasd');
}]);
如果您希望 操作
,请执行以下操作 Route::any('operaciones/cerrar', [
'as' => 'operaciones/cerrar', 'uses' => ' OperacionesController @cerrar'
]);
但是这里也使用了相同的路线,因此在这里不使用'as'
编辑:
我不知道出了什么问题,但你直接使用它会调用你的函数:
Route::any('cerraroperaciones', OperacionesController@cerrar');
答案 3 :(得分:0)
解决方案是从Laravel 5.1迁移到5.2 ......现在可以在每条路线上运行。 Ty all