私の職人コマンドをバックグラウンドで実行するには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バージョン - Ubuntuの 14.04
これらは、両方のサーバーで同じです。どこがうまくいかなかったか。どうか、これで私を助けてくれる人もいます。
個々の作曲の依存関係を削除してください、それらの一つはオートローダを使用していないため、手動で物事を含めている可能性もあり。あるいは、xdebugを使って 'debugging'を実行し、このファイルが必要となるまでコードをステップ実行し、致命的なエラーをスローします。これにはLaravelだけでなくPHPの知識が必要です。 – Jimbo