Laravel에서 관리자 화면을 만들고 싶습니다.

13200 단어 PHP라라벨
composer require encore/laravel-admin

오류


Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - encore/laravel-admin[v1.8.0, ..., v1.8.12] require doctrine/dbal 2.* -> found doctrine/dbal[2.1.5, ..., 2.13.x-dev] but it conflicts with your root composer.json require (^3.1).
    - Root composer.json requires encore/laravel-admin ^1.8 -> satisfiable by encore/laravel-admin[v1.8.0, ..., v1.8.12].

Use the option --with-all-dependencies (-W) to allow upgrades, downgrades and removals for packages currently locked to specific versions.

Installation failed, reverting ./composer.json and ./composer.lock to their original content.


아무래도 dbal의 버전이 3.0이라고 취급할 수 없기 때문에 다운그레이드 한다.
     "license": "MIT",
     "require": {
         "php": "^7.3|^8.0",
-        "doctrine/dbal": "^3.0",
+        "doctrine/dbal": "2.*",
+        "encore/laravel-admin": "^1.8",
         "fideloper/proxy": "^4.4",
         "fruitcake/laravel-cors": "^2.0",
         "guzzlehttp/guzzle": "^7.0.1",



dbal을 3⇨2로 한다.
composer require "doctrine/dbal:2.*"
composer require encore/laravel-admin
$php artisan vendor:publish --provider="Encore\Admin\AdminServiceProvider"
$php artisan admin:install
app/Admin
├── Controllers
│   ├── ExampleController.php
│   └── HomeController.php
├── bootstrap.php
└── routes.php


(위를 자신의 환경에 따라 매번 다시 쓰십시오. php artisan serve
DB에 연결하려면 다음 모델을 실행합니다.

다음의 관리 화면이 나오므로, user 화면, 패스워드 모두 admin으로 로그인합니다.
프로덕션 환경에서 이것을 사용하는 것은 너무 위험하기 때문에 관리자 등에게 확인하고 취급하는 것이 무난할까하고, 자신의 경우는 혼자이므로 확인하는 사람도 없습니다.

http://localhost:8000/admin


php artisan make:model Recipe
php artisan admin:make RecipeController --model=App\\models\\Recipe

App\Admin\Controllers\RecipeController created successfully.

Add the following route to app/Admin/routes.php:

$router->resource('recipes', RecipeController::class);

이 아저씨의 얼굴 지우고 싶기 때문에 설정합니다.


우선 다음을 해소한다.
Disk [admin] not configured, please add a disk config in `config/filesystems.php`.
Disk [admin] not configured, please add a disk config in `config/filesystems.php`.
라는 것이므로 추가합니다.

해당 파일은 다음과 같이 되어 있습니다.
config/filesystems.php

    'disks' => [

        'local' => [
            'driver' => 'local',
            'root' => storage_path('app'),
        ],

        'public' => [
            'driver' => 'local',
            'root' => storage_path('app/public'),
            'url' => env('APP_URL').'/storage',
            'visibility' => 'public',
        ],

        's3' => [
            'driver' => 's3',
            'key' => env('AWS_ACCESS_KEY_ID'),
            'secret' => env('AWS_SECRET_ACCESS_KEY'),
            'region' => env('AWS_DEFAULT_REGION'),
            'bucket' => env('AWS_BUCKET'),
            'url' => env('AWS_URL'),
            'endpoint' => env('AWS_ENDPOINT'),
        ],

    ],


글쎄 파일 업로드용의 php 파일은 어디입니까. file.php에 대해서는 생략합니다.

    'disks' => [

        'local' => [
            'driver' => 'local',
            'root' => storage_path('app'),
        ],

        'public' => [
            'driver' => 'local',
            'root' => storage_path('app/public'),
            'url' => env('APP_URL') . '/storage',
            'visibility' => 'public',
        ],
     ↓↓↓追加↓↓↓
        'admin' => [
            'driver' => 'local',
            'root' => public_path('uploads'),
            'visibility' => 'public',
            'url' => env('APP_URL') . '/uploads',
        ],

        's3' => [
            'driver' => 's3',
            'key' => env('AWS_ACCESS_KEY_ID'),
            'secret' => env('AWS_SECRET_ACCESS_KEY'),
            'region' => env('AWS_DEFAULT_REGION'),
            'bucket' => env('AWS_BUCKET'),
            'url' => env('AWS_URL'),
            'endpoint' => env('AWS_ENDPOINT'),
        ],

    ],


사라졌기 때문에 아저씨와 작별입니다.



아저씨는 안녕히 계셨지만 중요한 이미지가 표시되지 않습니다. 가 또한 나중에.



※현재 dbal은 버전 2.0이 필요한 모양

문서

좋은 웹페이지 즐겨찾기