下記のサイトを参考にLaravelの画面コントローラーから非同期で自作Laravelコマンドを実行したいのですが、
https://qiita.com/rana_kualu/items/40974943b813af92d01d
2台あるWindowsServerの1台でコマンドを実行できない問題が起きています。
OSやApacheのバージョンは同じなのですが、片方のサーバだけpopenで処理が止まる状態が起きています。
ログ出力でデバッグした限りでは、popenで処理が止まっていて、Laravelのコマンドクラスは呼ばれていない状態でした。
コマンドの実行処理は以下のように実装しています。
php
1$command = 'start /B php "' . base_path('artisan') . '" hoge:moge'; 2$fp = popen($command, 'r'); 3pclose($fp);
※実際に実行しているコマンド($commandの中身)は以下です。
start /B php "C:\Apache24\htdocs\artisan" hoge:moge
実行環境は下記になります。
・Windows Server 2016
・Apache 2.4
・PHP 7.4
・Laravel 6
サーバは異なる担当者が構築しているため、恐らく何か環境に差異があるとは思うのですが、
環境の違いが見つけられず八方塞がりの状態で、問題を切り分けるポイントなどアドバイス頂けないでしょうか。
回答1件
あなたの回答
tips
プレビュー