[Php] Laravel 5 - 공유 호스팅 서버의 캐시 지우기


Answers

CLI 외부에서 Artisan 명령을 호출 할 수 있습니다.

Route::get('/clear-cache', function() {
    $exitCode = Artisan::call('cache:clear');
    // return what you want
});

공식 문서는 http://laravel.com/docs/5.0/artisan#calling-commands-outside-of-cli에서 확인할 수 있습니다.

최신 정보

뷰 캐시를 삭제할 방법이 없습니다. php artisan cache:clear 는 그렇게하지 않습니다.

보기 캐시를 지우고 싶다면 직접 artisan 명령을 작성하고 이전에 말한 것처럼 호출하거나 artisan 경로를 건너 뛰고 컨트롤러 또는 다른 클래스에서 호출하는 일부 클래스의보기 캐시를 지워야한다고 생각합니다. 노선.

하지만, 내 진짜 질문은 정말 당신이보기 캐시를 지울 필요가 무엇입니까? 현재 작업중인 프로젝트에서 캐시 된 뷰는 거의 100 개이며 1MB 이하의 크기이고 vendor 디렉토리는 40MB가 넘습니다. 뷰 캐시가 디스크 사용에있어 실제 병목 현상이라고 생각하지 않으며 캐시를 지울 필요가 없습니다.

응용 프로그램 캐시config/cache.php 에서 file 드라이버를 구성한 경우에만 storage/framework/cache 디렉토리에 storage/framework/cache 됩니다. Redis 또는 Memcached 와 같은 다양한 드라이버를 선택하여 파일 기반 캐시를 통한 성능을 향상시킬 수 있습니다.

Question

질문은 꽤 분명합니다.

php artisan cache:clear

CLI에서 위와 같이 캐시를 지울 수있는 방법이 있습니까? 나는 유명한 공유 호스팅 서비스를 사용하고 있지만, 계획대로 제어판에 액세스 할 수 없습니다.

기본적으로보기 캐시를 지우고 싶습니다.

나는 이와 비슷한 질문을 거의 보았지만 그것은 나를 돕지 않습니다.

미리 감사드립니다.




내가 볼 수 있듯이 : http://itsolutionstuff.com/post/laravel-5-clear-cache-from-route-view-config-and-all-cache-data-from-applicationexample.html

새로운 clear cache 명령으로 아래 코드를 사용할 수 있습니까?

//Clear Cache facade value:
Route::get('/clear-cache', function() {
    $exitCode = Artisan::call('cache:clear');
    return '<h1>Cache facade value cleared</h1>';
});

//Reoptimized class loader:
Route::get('/optimize', function() {
    $exitCode = Artisan::call('optimize');
    return '<h1>Reoptimized class loader</h1>';
});

//Route cache:
Route::get('/route-cache', function() {
    $exitCode = Artisan::call('route:cache');
    return '<h1>Routes cached</h1>';
});

//Clear Route cache:
Route::get('/route-clear', function() {
    $exitCode = Artisan::call('route:clear');
    return '<h1>Route cache cleared</h1>';
});

//Clear View cache:
Route::get('/view-clear', function() {
    $exitCode = Artisan::call('view:clear');
    return '<h1>View cache cleared</h1>';
});

//Clear Config cache:
Route::get('/config-cache', function() {
    $exitCode = Artisan::call('config:cache');
    return '<h1>Clear Config cleared</h1>';
});

특히 생산 환경에서 모든 사람에게 캐시를 지울 수있는 가능성을 부여 할 필요는 없으므로 경로를 주석으로 작성하고 필요한 경우 코드를 주석 처리하고 경로를 실행하는 것이 좋습니다.




구성 캐싱 ( Config Caching ) laravel 설정은 수십 개의 파일에 분산되어 있으며, 각 요청마다 모든 파일을 including 하는 것은 값 비싼 프로세스입니다. 모든 설정 파일을 하나로 합치려면 다음을 사용하십시오 : 1

php artisan config:cache

구성을 변경하면 구성을 변경해도 영향을 미치지 않습니다. 구성 캐시를 새로 고치려면 위의 명령을 다시 실행하십시오. 설정 캐시를 완전히 제거하려면 1을 실행하십시오.

php artisan config:clear

라우트 캐싱 라우팅은 또한 라우트 레벨에서 많은 비용이 듭니다. routes.php 파일을 캐시하려면 다음 명령을 실행하십시오 : 1

php artisan route:cache

폐쇄와 함께 작동하지 않는다는 것을 알아 두십시오. 클로저를 사용하고있는 경우, 적절한 컨트롤러 메서드 대신 클로저에 바인딩 된 경로를 컴파일하려고 할 때 장인 명령이 예외를 throw하므로 컨트롤러로 이동할 수있는 좋은 기회입니다. 설정 캐시와 마찬가지로, routes.php에 대한 변경 사항은 더 이상 영향을 미치지 않습니다. 캐시를 새로 고치려면 라우트 파일을 변경할 때마다 위의 명령을 실행하십시오. 루트 캐시를 완전히 제거하려면 다음 명령을 실행하십시오. 1

php artisan route:clear

클래스 맵 최적화

중간 규모의 프로젝트가 수백 개의 PHP 파일로 확산되는 것은 흔한 일입니다. 좋은 코딩 동작이 우리에게 지시하기 때문에 모든 것이 고유 한 파일을가집니다. 이것은 물론 단점없이 오지는 않습니다. Laravel은 각 요청에 대해 수십 개의 서로 다른 파일을 포함해야하는데 이는 비용이 많이 드는 작업입니다.

따라서 좋은 최적화 방법은 각 요청 (예 : 모든 서비스 제공 업체, 미들웨어 및 기타)에 어떤 파일이 사용되는지를 선언하고 하나의 파일에 결합하여 각 요청에 대해 나중에로드합니다. 모든 자바 스크립트 파일을 하나로 결합하는 것과 다르지 않으므로 브라우저는 서버에 대한 요청을 줄여야합니다.

추가 컴파일 파일 (다시 : 서비스 제공자, 미들웨어 등)은 config / compile.php의 파일 키에서 사용자가 선언해야합니다. 앱에 대한 모든 요청에 ​​필수적인 모든 것을 넣은 다음 한 파일에서 다음과 연결하십시오. 1

php artisan optimize --force

작곡가 자동로드 최적화하기

이것은 laravel을위한 것이 아니라 작곡가를 이용하는 모든 응용 프로그램을위한 것입니다.

먼저 PSR-4 자동로드가 어떻게 작동하는지 설명하고, 최적화를 위해 어떤 명령을 실행해야하는지 알려 드리겠습니다. 작곡가의 작동 방식에 관심이 없다면 직접 콘솔 명령으로 건너 뛰는 것이 좋습니다.

Compsoser에게 App \ Controllers \ AuthController 클래스를 요청하면 먼저 클래스 맵에서 직접 연관을 찾습니다. 클래스 맵은 클래스와 파일의 1 대 1 연관이있는 배열입니다. 물론 Login 클래스와 관련 파일을 클래스 맵에 수동으로 추가하지 않았기 때문에 작성자는 네임 스페이스로 이동하여 검색합니다. App은 기본적으로 Laravel과 함께 제공되며 app / folder와 연결된 PSR-4 네임 스페이스이기 때문에 PSR-4 클래스 이름을 기본 문자열 조작 절차를 사용하여 파일 이름으로 변환하려고 시도합니다. 결국 App \ Controllers \ AuthController는 AuthController.php 파일에 있어야합니다.이 파일은 app / 인 네임 스페이스 폴더에 있어야하는 컨트롤러 / 폴더에 있습니다.

이 모든 작업은 App / Controllers \ AuthController 클래스가 app / Controllers / AuthController.php 파일에 있음을 확인하는 것입니다. 작곡가가 전체 애플리케이션을 스캔하고 클래스와 파일의 직접적인 1 대 1 연관을 생성하려면 다음 명령을 실행하십시오. 1

composer dumpautoload -o

이미 숙련 된 PHP artisan optimizations --force를 실행했다면이 작업을 더 이상 실행할 필요가 없습니다. optimize 명령은 이미 작곡가에게 최적화 된 자동로드를 생성하도록 지시하기 때문에.




기본적으로보기 캐시를 지우고 싶습니다.

Laravel 5.1에는 다음과 같은 명령이 있습니다.

php artisan view:clear



FTP를 통해 연결하고 storage \ framework \ views 폴더에서 laravel 5를 삭제하거나 app ​​\ storage \ views에서 Laravel 4를 삭제할 수 있습니다.




나는 이것이 누군가를 돕기를 바란다.

laravelFolder/bootstrap/cache 로 가서 config.php 이름을 예를 들어 원하는 이름으로 변경하십시오. config.php_old 사이트를 config.php_old 고침하십시오. 부두처럼 작동해야합니다.

해피 코딩 ...