close
Service Supervisor execution error
Problem
-
Laravel 5.5 文件 隊列 Supervisor 配置詳細解釋 Supervisor 的安裝與設定,不過實際在本機安裝時卻一直無法成功執行 php artisan queue:work
-
live EC2 安裝 Supervisor 使用相同設定卻沒有問題
-
輸出 log 資訊有 php error:
PHP Parse error: syntax error, unexpected '?' in /var/www/app/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php on line 233
Solution
-
試著修改 Supervisor 設定檔卻一直沒有解決
-
後來決定從 php error 訊息下手,google 後發現這個錯誤是因為使用 PHP 7.0 以才支援的 ?? 導致舊版本 PHP 無法判讀,不過從 cli 或是 web 看 PHP 的版本都是 7.1.8
-
突然想到本機有裝phpbrew,因為系統內存在多版本,所以在 crontab 需要特別指定版本;推測 Supervisor 也是相同道理
-
修改設定檔 command 參數,後來果然成功執行了!
[program:laravel-worker]
process_name=%(program_name)s_%(process_num)02d
command=/root/.phpbrew/php/php-7.1.8/bin/php /var/www/app/artisan queue:work --daemon --delay=3 --sleep=3 --tries=3
autostart=true
autorestart=true
user=root
numprocs=4
redirect_stderr=true
stdout_logfile=/var/www/app/storage/logs/worker.log
文章標籤
全站熱搜
留言列表