スクリプトがあります(ここで発見)、ログファイルを監視するように設計されています。キーワードがトリガーされると、コマンドを実行します。
journalctl -f | \
while read line ; do
echo "$line" | grep "apcu"
if [ $? = 0 ]
then
systemctl restart php7.2-fpm.service
fi
done
次の行を使用してsystemdサービスを作成して有効にしました。
[Service]
ExecStart=/home/alex/journal-trigger.sh
StandardOutput=file:/home/alex/journal-trigger.log
StandardError=file:/home/alex/journal-trigger.error.log
これは、apcu.soモジュールが失敗した場合にPHPサービスを再起動するための一時的なアクションです。しかし、欠点があります(コマンドに「apcu」が含まれている場合)。
sudo php cachetool.phar apcu:cache:info --fcgi
In FastCGI.php line 133:
FastCGI error: Stream got blocked, or terminated. (/var/run/php/php7.2-fpm.sock)
In Socket.php line 525:
Stream got blocked, or terminated.
どうすれば解決できますか?
ベストアンサー1
さて、問題を解決しましたが、grep kernel\:\ traps\:.*apcu\.so
実際の修正はアプリケーションレベルにあります。apcu_clear_cache()
本番サーバーのPHPコードに誤って残っていました...