【问题标题】:laravel cant find method in live serverlaravel 在实时服务器中找不到方法
【发布时间】:2018-04-23 08:51:26
【问题描述】:

我的机器在本地遇到了一个奇怪的错误,一切正常,而当我将项目扔到服务器上时,我遇到了这个问题 BadMethodCallException,它说找不到方法,但方法实际上存在,我尝试了一切 php artisan key:generate, composer dump-autoload, php artisan cache:config 但没有成功。

我的路线:

Route::get('/forgotpassword',[
    'as'    =>  "forgotpassword",
    'uses'  =>  "admin@forgotpassword"
]);

控制器:

//Forgot Password
public function forgotpassword()
{
    return view('page.forgotpassword');
}

我得到了错误:

BadMethodCallException
Method App\Http\Controllers\admin::forgotpassword does not exist.

【问题讨论】:

  • 请发布您的命名空间
  • 请输入您的控制器代码
  • 管理控制器:

标签: php laravel


【解决方案1】:

试试这个:

Route::get('/forgotpassword',[
    'as'    =>  "forgotpassword",
    'uses'  =>  "Admin@forgotpassword"
]);

记住:所有类名都区分大小写。 XAMPP 自动更正此问题。

【讨论】:

  • 当我使用 'uses' => "Admin@forgotpassword" "Class App\Http\Controllers\Admin 不存在"
  • 然后在问题描述中添加您的完整控制器代码。 @spyrox
【解决方案2】:

这通常发生在您在 Windows 中进行开发但将其托管在 Linux 上时。

在 Linux 中,我们还必须注意区分大小写。

确保您的班级名称与您在路线中引用的名称相同。

例如

Route::get('/forgotpassword',[
    'as'    =>  "forgotpassword",
    'uses'  =>  "admin@forgotpassword"
]);

对于上述给定的路由,您必须有一个小写的控制器名称。

例如

class admin extends Controller {}

希望对你有帮助

【讨论】:

  • 我有它,就像类管理员扩展控制器一样,但我不明白怎么找不到方法,而 post 方法如果我尝试登录它可以工作,它会进入控制器并给我响应所以发布请求正在工作。
【解决方案3】:
 namespace App\Http\Controllers; 

 use App\Http\Controllers;

 class Admin extends Controller { 

 } 

路线

    Route::get('/forgotpassword',[
    'as'    =>  "forgotpassword",
    'uses'  =>  "Admin@forgotpassword"
]);

【讨论】:

    猜你喜欢
    • 2013-10-16
    • 1970-01-01
    • 1970-01-01
    • 2016-05-09
    • 1970-01-01
    • 2016-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多