내 장인 명령을 백그라운드에서 실행하려면 shell_exec 명령을 사용하고 있습니다. 하지만 프로덕션 서버에서 shell_exec을 실행할 때.라이브 서버에서 laravel artisan 명령에 shell_exec을 사용할 수 없습니다.
는경로 코드를 다음과 같이 나에게 오류가 발생
Route::get('/test/exec', function() {
echo shell_exec('php ../artisan migrate:status 2>&1; echo $?');
});
을 다음과 같이.
PHP Fatal error: Cannot redeclare class Illuminate\Support\Traits\Macroable in /var/www/production/bootstrap/cache/compiled.php on line 6109 255
그러나 내 로컬에서 동일한 명령을 실행하면 결과가 나타납니다.
- Laravel versin - 5.1.46
- PHP 버전 - PHP 5.5.9
- OS 버전 - 14.04
이 우분투는 두 서버에서 동일합니다. 어디가 잘못 됐어. 제발, 어떤 사람이 이걸 도와 줬어.
개별 작곡가 종속성을 제거하십시오, 그들 중 하나는 오토로더를 사용하지 않고 수동으로 일을 포함하는 것으로 보인다 될 수있다 . 또는 xdebug를 사용하여 'debugging google'을 실행하고이 파일이 필요하고 치명적인 오류가 발생 될 때까지 코드를 단계별로 실행하십시오. 단, Laravel뿐 아니라 PHP 지식이 필요합니다. – Jimbo