目标类在 Linux 上的 Backpack 中不存在



在我的Windows localhost应用程序上,一切都很好。

然而,由于我将我的应用程序部署到Linux,我收到了以下错误:Target class [AppHttpControllersAdminUserCrudController] does not exist.

如果我删除这些路线,一切都会很好。

我试了试我看到的答案,但没有用。

我检查了我的路线,一切似乎都很好:

<?php
// --------------------------
// Custom Backpack Routes
// --------------------------
// This route file is loaded automatically by BackpackBase.
// Routes you generate using BackpackGenerators will be placed here.
use AppHttpControllersAdminValidationController;
Route::group(['middleware' => [config('backpack.base.web_middleware', 'web')]], function () {
Route::get('admin/register', 'AppHttpControllersAdminAuthRegisterController@showRegistrationForm')->name('backpack.auth.register');
Route::post('admin/register', 'AppHttpControllersAdminAuthRegisterController@register');
});
Route::group([
'prefix'     => config('backpack.base.route_prefix', 'admin'),
'middleware' => array_merge(
(array) config('backpack.base.web_middleware', 'web'),
(array) config('backpack.base.middleware_key', 'admin')
),
'namespace'  => 'AppHttpControllersAdmin',
], function () { // custom admin routes
Route::crud('user', 'UserCrudController');
Route::crud('business-type', 'BusinessTypeCrudController');
Route::crud('document-type', 'DocumentTypeCrudController');
Route::crud('offered-service', 'OfferedServiceCrudController');
Route::crud('animal', 'AnimalCrudController');
Route::group(['prefix' => 'validation'], function () {
Route::get('/', [ValidationController::class, 'index']);
Route::get('/{company}/show', [ValidationController::class, 'show']);
});
Route::crud('company', 'CompanyCrudController');
Route::crud('branch', 'BranchCrudController');
}); // this should be the absolute last line of this file

我的控制器也是这样:

<?php
namespace AppHttpControllersAdmin;
use AppHttpRequestsUserRequest;
use BackpackCRUDappHttpControllersCrudController;
use BackpackCRUDappLibraryCrudPanelCrudPanelFacade as CRUD;
/**
* Class UserCrudController
* @package AppHttpControllersAdmin
* @property-read BackpackCRUDappLibraryCrudPanelCrudPanel $crud
*/
class UserCrudController extends CrudController
{
use BackpackCRUDappHttpControllersOperationsListOperation;
use BackpackCRUDappHttpControllersOperationsCreateOperation;
use BackpackCRUDappHttpControllersOperationsUpdateOperation;
use BackpackCRUDappHttpControllersOperationsDeleteOperation;
use BackpackCRUDappHttpControllersOperationsShowOperation;
/**
* Configure the CrudPanel object. Apply settings to all operations.
*
* @return void
*/
public function setup()
{
CRUD::setModel(AppModelsUser::class);
CRUD::setRoute(config('backpack.base.route_prefix') . '/user');
CRUD::setEntityNameStrings('user', 'users');
}
/**
* Define what happens when the List operation is loaded.
*
* @see  https://backpackforlaravel.com/docs/crud-operation-list-entries
* @return void
*/
protected function setupListOperation()
{
CRUD::column('first_name');
CRUD::column('last_name');
CRUD::column('email');
CRUD::column('password');
/**
* Columns can be defined using the fluent syntax or array syntax:
* - CRUD::column('price')->type('number');
* - CRUD::addColumn(['name' => 'price', 'type' => 'number']);
*/
}
/**
* Define what happens when the Create operation is loaded.
*
* @see https://backpackforlaravel.com/docs/crud-operation-create
* @return void
*/
protected function setupCreateOperation()
{
CRUD::setValidation(UserRequest::class);
CRUD::field('first_name');
CRUD::field('last_name');
CRUD::field('email');
CRUD::field('password');
/**
* Fields can be defined using the fluent syntax or array syntax:
* - CRUD::field('price')->type('number');
* - CRUD::addField(['name' => 'price', 'type' => 'number']));
*/
}
/**
* Define what happens when the Update operation is loaded.
*
* @see https://backpackforlaravel.com/docs/crud-operation-update
* @return void
*/
protected function setupUpdateOperation()
{
$this->setupCreateOperation();
}
}

你知道是什么原因导致了这个问题吗?

这通常是关于区分大小写的问题。在linux中,Directoryname/directoryname/不同首先,一个解决方案可以让服务器上的git忽略case,这样一旦重命名文件,就会被认为是相同的。并且不需要移除和读取。然后在将来确保到控制器的路径始终以大写字母开头。

最新更新