레이블이 artisan인 게시물을 표시합니다. 모든 게시물 표시
레이블이 artisan인 게시물을 표시합니다. 모든 게시물 표시

20241227

Laravel 404 error

Laravel 404 오류 해결 방법

Laravel로 개발을 진행하다 보면 라우트 설정이 올바른 것처럼 보이는데도 404 오류가 발생할 수 있습니다. 이 글에서는 404 오류의 주요 원인과 이를 해결하는 방법을 안내드립니다.


1. 컨트롤러와 메소드 이름 확인

404 오류의 가장 흔한 원인은 라우트 설정에서 컨트롤러 이름이나 메소드 이름이 잘못 작성된 경우입니다. 다음 사항을 점검해 보세요:

  • web.phpapi.php 파일에서 라우트에 연결된 컨트롤러와 메소드 이름이 정확히 작성되었는지 확인합니다.
  • 예를 들어, 라우트 설정에서 Route::get('/posts', [PostController::class, 'index']);라고 작성되었다면, PostController 클래스와 해당 클래스 안의 index 메소드가 존재하는지 확인해야 합니다.

2. 라우트 캐시 삭제

컨트롤러와 메소드가 정확한데도 문제가 지속된다면, 라우트 캐시로 인해 발생한 문제일 가능성이 있습니다. Laravel은 성능 향상을 위해 라우트를 캐싱하며, 이 캐시가 꼬이면 최신 라우트 정보가 반영되지 않을 수 있습니다. 다음 명령어를 실행하여 라우트 캐시를 삭제해 보세요:

php artisan route:clear

3. 다른 캐시도 초기화

라우트 캐시만 삭제하는 것으로 해결되지 않을 경우, Laravel에서 사용하는 다른 캐시들도 초기화해 보시기 바랍니다. 다음은 주요 캐시를 삭제하는 명령어입니다:

3.1 애플리케이션 캐시 삭제

애플리케이션 캐시를 초기화하려면 아래 명령어를 실행합니다:

php artisan cache:clear

3.2 설정 파일 캐시 삭제

Laravel은 설정 파일들을 캐싱하여 성능을 높입니다. 하지만 이 캐시가 문제가 될 경우 아래 명령어를 사용해 캐시를 삭제해 보세요:

php artisan config:clear

3.3 뷰 파일 캐시 삭제

Blade 템플릿 사용 시, 뷰 파일 캐시가 꼬이면 변경 사항이 반영되지 않을 수 있습니다. 아래 명령어를 실행해 뷰 캐시를 삭제해 보세요:

php artisan view:clear

4. 추가 점검 사항

위 방법으로 해결되지 않을 경우, 아래 사항도 점검해 보시기 바랍니다:

  • Laravel의 버전이 오래되었을 경우 최신 버전으로 업그레이드해 보세요.
  • .env 파일의 설정이 올바르게 구성되었는지 확인합니다. 예를 들어, APP_URL이나 APP_ENV 설정이 잘못되면 문제가 발생할 수 있습니다.
  • 서버 환경(Nginx, Apache 등)의 설정을 점검하여 URL Rewrite 설정이 제대로 적용되었는지 확인합니다.

마무리

위에서 안내드린 방법들을 순서대로 적용하면 대부분의 404 오류를 해결하실 수 있습니다. 개발 환경에서는 캐시 문제로 인해 오류가 발생하는 경우가 많으니, 주기적으로 캐시를 삭제하며 작업하시길 권장드립니다.

Laravel + VSCode

Laravel이란?

Laravel은 PHP의 인기 있는 프레임워크로, 웹 애플리케이션 개발을 효율적으로 도와줍니다. Laravel은 코드의 재사용성을 높이고, 개발자가 복잡한 작업을 더 쉽게 처리할 수 있도록 다양한 기능을 제공합니다.

Laravel 설치 및 서버 실행

Laravel을 설치하기 위해서는 Composer가 필요합니다. Composer는 PHP 소프트웨어와 라이브러리의 의존성을 관리하는 패키지 관리자입니다. 이를 통해 필요한 확장 기능을 쉽게 설치하고 관리할 수 있습니다.

1. Composer 설치

Composer를 설치하려면 Composer 공식 웹사이트에서 다운로드하고 설치를 진행합니다.

  1. "Getting Started"를 클릭합니다.
  2. "Setup" 파일을 다운로드하여 Composer를 설치합니다.
  3. 설치 후, 아래 명령어를 통해 Composer가 제대로 설치되었는지 확인할 수 있습니다:
    composer --version

2. Laravel 프로젝트 설치

Laravel을 설치하고 새로운 프로젝트를 생성하려면, 프로젝트를 배치할 폴더로 이동한 후 아래 명령어를 실행합니다:

composer create-project --prefer-dist laravel/laravel 프로젝트명

위 명령어를 실행하면, Laravel 프로젝트가 생성됩니다.

3. 서버 실행

Laravel 프로젝트 폴더로 이동하여 아래 명령어로 서버를 실행합니다:

php artisan serve

서버를 종료하려면 Ctrl + C를 눌러 서버를 중지할 수 있습니다.

4. 웹 브라우저에서 확인

웹 브라우저에서 localhost:8000을 입력하여 Laravel 서버가 정상적으로 실행되는지 확인합니다.

VSCode 세팅

Laravel 프로젝트를 VSCode에서 쉽게 작업하려면, Laravel 관련 익스텐션을 추가하는 것이 좋습니다.

추천 익스텐션 목록:

  • Laravel Artisan: Artisan 명령어를 쉽게 실행할 수 있게 도와주는 익스텐션.
  • Laravel Blade Snippets: Blade 템플릿 코드 자동 완성을 도와주는 익스텐션.
  • Laravel Blade Spacer: Blade 코드 인식 기능을 추가하는 익스텐션.
  • Laravel Go to View: view('welcome')와 같은 코드에서 해당 뷰 파일로 바로 이동할 수 있게 도와주는 익스텐션.
  • Laravel Snippet: Laravel 코드 자동 완성 기능을 제공하는 익스텐션.
  • Live Sass Compiler: SCSS 파일을 저장하면 자동으로 컴파일을 해주는 익스텐션.
  • PHP IntelliSense: PHP 코드 자동 완성과 정의로 이동하는 기능을 제공하는 익스텐션.
  • Getter Setter Generator: 자동으로 Getter와 Setter 메서드를 생성해주는 익스텐션.
  • Bracket Pair Colorizer2: 코드 블록의 시작과 끝을 색상으로 구분해주는 익스텐션.
  • Material Icon Theme: 프로젝트 파일의 아이콘을 보기 쉽게 바꿔주는 익스텐션.
  • Env: .env 파일을 보기 좋게 색상 처리를 해주는 익스텐션.

Laravel 프로젝트 디렉토리 구조

Laravel 프로젝트는 여러 중요한 파일과 디렉토리로 구성되어 있습니다. 각 파일과 디렉토리의 역할은 다음과 같습니다:

  • .env: 환경 설정 파일로, 데이터베이스 연결 정보 등이 포함됩니다.
  • config: 애플리케이션의 설정 파일들이 위치하는 디렉토리입니다.
  • artisan: Artisan 명령어를 실행하는 파일입니다.
  • composer.json: Composer를 통해 패키지를 관리하는 파일입니다.
  • package.json: Node.js 패키지를 관리하는 파일입니다.
  • webpack.mix.js: JavaScript 및 SCSS 파일을 컴파일하는 설정 파일입니다.
  • resources: Blade 뷰 파일 등 리소스들이 위치하는 디렉토리입니다.
  • routes/web.php: 웹 애플리케이션의 URL 라우팅을 정의하는 파일입니다.
  • public: 웹 애플리케이션의 공개 파일이 위치하는 디렉토리입니다. (CSS, JavaScript 등)
  • storage: 캐시, 세션, 로그 등의 파일이 저장되는 디렉토리입니다.
  • vendor: Composer 패키지들이 저장되는 디렉토리입니다.
  • bootstrap: Laravel의 초기화와 관련된 파일들이 위치하는 디렉토리입니다.
  • app/Http/Controllers: 컨트롤러 클래스가 위치하는 디렉토리입니다.
  • app/Model: 모델 클래스가 위치하는 디렉토리입니다.
  • resources/views: Blade 템플릿 파일들이 위치하는 디렉토리입니다.

20241226

Mac + Laravel

PHP 및 Laravel 설치 방법

1. PHP 설치

PHP를 설치하려면 아래 명령어를 실행합니다:

$ brew install php

2. Composer 설치

Composer는 PHP의 의존성 관리 도구로, 아래 명령어로 설치할 수 있습니다:

$ php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
$ php -r "if (hash_file('sha384', 'composer-setup.php') === '55ce33d7678c5a611085589f1f3ddf8b3c52d662cd01d4ba75c0ee0459970c2200a51f492d557530c71c15d8dba01eae') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
$ php composer-setup.php
$ php -r "unlink('composer-setup.php');"

3. Laravel 설치

Laravel 설치를 위해 아래 명령어를 실행합니다:

$ composer global require "laravel/installer"

4. Path 설정 (추가)

Laravel 설치 후, 아래 명령어를 사용하여 Path를 설정합니다:

export PATH="$PATH:$HOME/.composer/vendor/bin"
$ source ~/.bash_profile

5. Valet 설치

Laravel Valet는 개발 환경을 관리할 수 있는 도구입니다. 아래 명령어로 Valet를 설치합니다:

$ composer global require laravel/valet
$ valet install

6. Laravel 프로젝트 설치

Laravel 프로젝트를 설치하려면 아래 명령어를 사용합니다:

$ laravel new 프로젝트이름

필요할 경우 sudo를 추가하여 설치할 수 있습니다.

7. Artisan 구동

Laravel 프로젝트를 실행하려면 아래 명령어로 Artisan 서버를 구동합니다:

$ php artisan serve

8. Artisan key error 시 해결 방법

Artisan key 오류가 발생할 경우, 아래 명령어로 해결할 수 있습니다:

$ sudo php artisan key:generate