php 7.2, 라라벨 7.30.1 설치 (도커에 설치 할 경우도 포함)
1. composer create-project laravel/laravel:^9.0 example-app
ㄴ ( 나는 ^9.0 대신 packagist.org 에서 ^7.30.1 과 같이 php 7.2 에 대응하는 버전으로 설치)
2. composer.json 파일에 아래와 같이 작성
ㄴ
{
"require": {
"php": "^7.2.5|^8.0",
"fideloper/proxy": "^4.4",
"fruitcake/laravel-cors": "^2.0",
"guzzlehttp/guzzle": "^6.3.1|^7.0.1",
"laravel/framework": "^7.29",
"laravel/tinker": "^2.5"
}
}
ㄴ composer install
3. example-app 같이 설치 될 경우 /var/www/html/example-app 안에 라라벨이 생성 되기 때문에 라라벨 설치 파일과 디렉토리를 /var/www/html/ 밖의 루트로 꺼냄
ㄴ composer i
ㄴ composer update
4. .env.example 파일이 없는 경우도 있는데 그냥 .env 파일을 생성 해서 아래와 같이 파일을 작성 해줌
ㄴ
APP_NAME=Laravel
APP_ENV=local
APP_KEY=
APP_DEBUG=true
APP_URL=http://localhost:8080
LOG_CHANNEL=stack
LOG_DEPRECATIONS_CHANNEL=null
LOG_LEVEL=debug
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=
BROADCAST_DRIVER=log
CACHE_DRIVER=file
FILESYSTEM_DISK=local
QUEUE_CONNECTION=sync
SESSION_DRIVER=file
SESSION_LIFETIME=120
MEMCACHED_HOST=127.0.0.1
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
MAIL_MAILER=smtp
MAIL_HOST=mailhog
MAIL_PORT=1025
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS="hello@example.com"
MAIL_FROM_NAME="${APP_NAME}"
AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_DEFAULT_REGION=us-east-1
AWS_BUCKET=
AWS_USE_PATH_STYLE_ENDPOINT=false
PUSHER_APP_ID=
PUSHER_APP_KEY=
PUSHER_APP_SECRET=
PUSHER_APP_CLUSTER=mt1
MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"
ㄴ 도커일 경우 Cli 에 접근 하기 위해 $ docker exec -it test-lala-fpm-1 bash
ㄴ test-lala-fpm-1 은 본인이 생성 한 도커 컨테이너명에 따라 다름
ㄴ php artisan key:generate
ㄴ php artisan config:cache
ㄴ config/app.php 수정
ㄴ 'key' => env('생성된 키'),
ㄴ 그리고 컨테이너 재실행 및 적용
ㄴ php artisan config:cache
ㄴ http://localhost:8080/public/ 에 접근하면 됨
-------------------------------------------------------------------------------------------------------
라라벨 7.29 버전을 사용하려면 아래 단계를 따라 프로젝트를 설정하고 활용할 수 있습니다.
1. 라라벨 7.29 설치
라라벨 7.29는 최신 버전이 아니므로, Composer 명령어를 통해 특정 버전을 설치해야 합니다.
설치 명령:
composer create-project --prefer-dist laravel/laravel="7.29" project-name
- project-name에는 프로젝트 이름을 지정합니다.
- 이 명령어는 라라벨 7.29와 호환되는 기본 의존성을 설치합니다.
2. PHP 및 서버 요구사항
라라벨 7.29는 다음 요구사항을 충족해야 합니다:
- PHP 버전: 7.2.5 이상
- 확장 프로그램:
- OpenSSL
- PDO
- Mbstring
- Tokenizer
- XML
- Ctype
- JSON
- 데이터베이스:
- MySQL, PostgreSQL, SQLite, SQL Server 중 하나를 사용할 수 있습니다.
서버 환경을 확인하려면 아래 명령어를 실행하세요:
php -v
php -m
3. 기본 환경 설정
.env 파일 구성
설치 후, 프로젝트의 .env 파일을 열고, 데이터베이스 및 기타 설정을 업데이트합니다:
APP_NAME=Laravel
APP_ENV=local
APP_KEY=base64:YOUR_APP_KEY_HERE
APP_DEBUG=true
APP_URL=http://localhost
LOG_CHANNEL=stack
LOG_LEVEL=debug
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=your_database_name
DB_USERNAME=your_username
DB_PASSWORD=your_password
- APP_KEY: php artisan key:generate 명령어를 실행하면 자동 생성됩니다.
- DB_*: 데이터베이스 정보를 입력합니다.
4. 개발 서버 실행
다음 명령어로 로컬 개발 서버를 실행합니다:
php artisan serve
- 기본적으로 http://localhost:8000에서 애플리케이션을 확인할 수 있습니다.
5. 라우팅
라우팅은 routes/web.php 파일에서 설정합니다. 예를 들어:
Route::get('/', function () {
return view('welcome');
});
Route::get('/about', function () {
return "This is the about page.";
});
6. 컨트롤러 생성
컨트롤러를 생성하려면 다음 명령어를 사용합니다:
php artisan make:controller ExampleController
- 생성된 컨트롤러는 app/Http/Controllers 디렉토리에 저장됩니다.
- 컨트롤러에 메서드를 정의한 후, 라우트에 연결할 수 있습니다.
Route::get('/example', [ExampleController::class, 'index']);
7. Blade 템플릿 사용
resources/views 디렉토리에서 뷰 파일을 생성하고, Blade 템플릿 엔진을 사용하여 뷰를 작성합니다.
예: resources/views/example.blade.php
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Example</title>
</head>
<body>
<h1>Hello, Laravel 7.29!</h1>
</body>
</html>
컨트롤러에서 이를 반환:
public function index()
{
return view('example');
}
8. 마이그레이션 및 데이터베이스
마이그레이션 실행:
php artisan migrate
새 마이그레이션 파일 생성:
php artisan make:migration create_table_name --create=table_name
database/migrations 디렉토리에 파일이 생성되며, 여기서 데이터베이스 스키마를 정의합니다.
9. 추가 패키지 설치
라라벨 7에서 자주 사용되는 패키지:
- Authentication: 기본 인증 스캐폴딩
composer require laravel/ui php artisan ui vue --auth npm install && npm run dev
- HTTP 클라이언트: Guzzle를 사용하거나 추가 설정 없이 사용할 수 있습니다.
10. 도움말
라라벨 7의 모든 명령어는 Artisan CLI를 통해 확인할 수 있습니다:
php artisan
문서 참고
라라벨 7 공식 문서: Laravel 7 Documentation
위 단계를 따라 설치하고 개발을 진행하세요! 😊
https://laravel.kr/docs/9.x/installation
라라벨 9.x - 설치하기
라라벨 한글 메뉴얼 9.x - 설치하기
laravel.kr
https://packagist.org/packages/laravel/laravel#v7.30.1
laravel/laravel - Packagist
README About Laravel Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experience to be truly fulfilling. Laravel takes the pain out of development by easing common tasks used i
packagist.org
https://stackoverflow.com/questions/44839648/no-application-encryption-key-has-been-specified
No Application Encryption Key Has Been Specified
I'm trying to use the Artisan command like this: php artisan serve It displays: Laravel development server started: http://127.0.0.1:8000 However, it won't automatically launch and when I manually
stackoverflow.com
php artisan: "failed to open stream: No such file or directory"
I just started to learn php/laravel by following some guides and tutorials, which led me to run a server using php artisan serve command. The steps I took are as follows: install laravel using com...
stackoverflow.com
https://dungvkorea.tistory.com/2
[Laravel 7.x] '0'부터 시작하는 Laravel 계층형 게시판
PHP의 프레임워크인 Laravel Framework를 사용하여 첫 결과물로 계층형 게시판을 만들어 보았습니다. 버전은 7.21.0 이고, https://laravel.kr/docs/7.x 라라벨 코리아 한글 메뉴얼을 참고하였습니다. 필자가 만
dungvkorea.tistory.com
'Server Side > PHP' 카테고리의 다른 글
Eloquent ORM 코드이그나이터용 (라라벨 대체) (2) | 2024.01.04 |
---|---|
PHP 로 개발 한 사이트가 느리다면 (0) | 2023.12.29 |
코드이그나이터 액티브 레코드 쿼리문 찍어 보기 (0) | 2023.12.22 |
Pagination의 종류 (0) | 2023.12.18 |
PHP 해킹 안당하려면 php.ini disable_functions 수정 (0) | 2023.12.16 |