2017-12-08 16 views
0

net에서 호스팅되는 내 응용 프로그램에서이 artisan 명령을 어떻게 실행할 수 있습니까? 내 cpanel에이 명령을 할 수있는 cmd와 같은 것이 있습니까? 미리 감사드립니다.cpanel에서 artisan 명령을 실행하는 방법

    명확
  • PHP 장인 : 캐시
  • PHP 장인보기 : 투명
+0

SSH 액세스는 어떻습니까? –

+0

완료되면 여기에 URL을 붙여 넣어 캐시를 지울 수 있습니다. – lagbox

답변

2

당신은 개인화 된 경로를 확인하고 당신이 그것을 필요로 할 때 호출 할 수 있습니다 :

Route::get('/clear-cache', function() { 
    $output = new \Symfony\Component\Console\Output\BufferedOutput; 
    \Artisan::call('cache:clear', $output); 
    dd($output->fetch()); 
}); 

또 다른 솔루션입니다 서버에 대한 ssh에 액세스하고 명령을 실행합니다.

+0

맞춤 경로를 시도했습니다. 캐시가 성공적으로 지워졌는지 어떻게 알 수 있습니까? –

+0

출력에 에코를 추가 할 수 있습니다. 답을 업데이트하십시오. –

+0

(1/1) FatalErrorException 'BufferedOutput'클래스가 없습니다.이 오류가 발생합니다. –

-2

시도해보십시오. 다음 코드에 의해 SSH 쉘에 액세스 할 수있는 공유 호스팅 서버에서 호스팅 laravel 응용 프로그램 캐시를 모두 지울 수 있습니다

Route::get('/cleareverything', function() { 
    $clearcache = Artisan::call('cache:clear'); 
    echo "Cache cleared<br>"; 

    $clearview = Artisan::call('view:clear'); 
    echo "View cleared<br>"; 

    $clearconfig = Artisan::call('config:cache'); 
    echo "Config cleared<br>"; 

    $cleardebugbar = Artisan::call('debugbar:clear'); 
    echo "Debug Bar cleared<br>"; 
}); 

지금 어떤 오류가 발생하지 않습니다 yourdoamin.com/cleareverything

이 코드를 실행합니다. 이미이 코드를 사용했습니다.

참조 : https://laravel.com/docs/5.2/artisan#calling-commands-via-code

+0

오, 안돼 !!!! 완전히 틀린 .... 당신은 단지 캐시가 성공적이라고 가정하지만 확실하지는 않습니다, 또한 실패 할 수 있습니다 !!! – MosCH

+0

OMG ... 캐시가 지워졌습니까? 어쩌면 명령이 실패했습니다 ... –

+0

나는 이미이 여러 가지 응용 프로그램에서이 코드를 사용하여 캐시를 성공적으로 지웠고이 코드에는 오류가 없음을 확인했습니다. –

0

이 같은 clear-cache.sh라는 간단한 bash는 스크립트를 만들 수 있습니다

#!/bin/sh 
PHP=/path/to/your/php-binary 
PATH=/path/to/your-artisan-install 

cd $PATH 
$PHP artisan clear:cache 
$PHP artisan view:clear 

스크립트를 저장하고 만들어 그것을 실행 (chmod를 + X clear-cache.sh). 특정 간격으로 cronjob을 실행하고 cron 작업을 구성하여 해당 두 명령의 출력을 전자 메일로 보냅니다. 이렇게하면 cron이 스크립트를 실행할 때마다 (기본적으로 cron이 자동으로 두 명령을 실행합니다) 이메일을 받게됩니다. 그러면 출력이 이메일로 전송됩니다.

물론 다른 방법도 PHP 스크립트를 만들고 웹을 통해 호출 할 수 있습니다.