{"ts":"2026-06-09T18:45:31+00:00","level":"warn","event":"request","request_id":"3ae9a37fad930e449e1ea61d81fe5032","method":"GET","path":"/capsulize-testament/backend-php7/public/","query":"","status":404,"duration_ms":1,"ip":"34.14.33.150","ua":"Mozilla/5.0 (Windows NT 10.0; rv:78.0) Gecko/20100101 Firefox/78.0"}
{"ts":"2026-06-09T21:45:19+00:00","level":"info","event":"request","request_id":"663a733b55ead4db2770d70e820e9bc0","method":"CLI","path":"/bin/cron_heartbeat.php","query":"","status":200,"duration_ms":359,"ip":"113.196.56.150","ua":"python-requests/2.32.3"}
{"ts":"2026-06-09T21:45:28+00:00","level":"error","event":"php_error","request_id":"d06148b6325d946c58e7fbefc45177ab","method":"CLI","path":"/scripts/regenerate_invoice.php","ip":"113.196.56.150","ua":"python-requests/2.32.3","severity":2,"message":"Use of undefined constant STDERR - assumed 'STDERR' (this will throw an Error in a future version of PHP)","file":"/var/www/capsulize-testament/backend-php7/scripts/regenerate_invoice.php","line":13}
{"ts":"2026-06-09T21:45:28+00:00","level":"error","event":"request","request_id":"d06148b6325d946c58e7fbefc45177ab","method":"CLI","path":"/scripts/regenerate_invoice.php","query":"","status":500,"duration_ms":0,"ip":"113.196.56.150","ua":"python-requests/2.32.3","fatal":{"type":1,"message":"Uncaught TypeError: fwrite() expects parameter 1 to be resource, string given in /var/www/capsulize-testament/backend-php7/scripts/regenerate_invoice.php:13\nStack trace:\n#0 /var/www/capsulize-testament/backend-php7/scripts/regenerate_invoice.php(13): fwrite()\n#1 /var/www/capsulize-testament/backend-php7/scripts/regenerate_invoice.php(41): usage()\n#2 {main}\n  thrown","file":"/var/www/capsulize-testament/backend-php7/scripts/regenerate_invoice.php","line":13}}
{"ts":"2026-06-09T21:45:28+00:00","level":"info","event":"request","request_id":"601d84070fd1e750fda1eef5f5238bfb","method":"CLI","path":"/scripts/purge_unpaid_capsules.php","query":"","status":200,"duration_ms":70,"ip":"113.196.56.150","ua":"python-requests/2.32.3"}
{"ts":"2026-06-09T21:45:29+00:00","level":"info","event":"request","request_id":"07ab68c1c7c072a21b2c70f9d286332d","method":"CLI","path":"/scripts/unlock_scheduled_capsules.php","query":"","status":200,"duration_ms":99,"ip":"113.196.56.150","ua":"python-requests/2.32.3"}
{"ts":"2026-06-09T21:45:29+00:00","level":"info","event":"request","request_id":"d859dd40a36f791fafd1c0703f03acdb","method":"CLI","path":"/scripts/resend_recipient_unlock_email.php","query":"","status":200,"duration_ms":0,"ip":"113.196.56.150","ua":"python-requests/2.32.3"}
{"ts":"2026-06-09T21:45:29+00:00","level":"error","event":"php_error","request_id":"085852362e0467ddb216b9db5f637fe3","method":"CLI","path":"/scripts/reset_death_threshold_test.php","ip":"113.196.56.150","ua":"python-requests/2.32.3","severity":8,"message":"Undefined variable: argv","file":"/var/www/capsulize-testament/backend-php7/scripts/reset_death_threshold_test.php","line":32}
{"ts":"2026-06-09T21:45:29+00:00","level":"error","event":"request","request_id":"085852362e0467ddb216b9db5f637fe3","method":"CLI","path":"/scripts/reset_death_threshold_test.php","query":"","status":500,"duration_ms":0,"ip":"113.196.56.150","ua":"python-requests/2.32.3","fatal":{"type":1,"message":"Uncaught TypeError: in_array() expects parameter 2 to be array, null given in /var/www/capsulize-testament/backend-php7/scripts/reset_death_threshold_test.php:32\nStack trace:\n#0 /var/www/capsulize-testament/backend-php7/scripts/reset_death_threshold_test.php(32): in_array()\n#1 {main}\n  thrown","file":"/var/www/capsulize-testament/backend-php7/scripts/reset_death_threshold_test.php","line":32}}
{"ts":"2026-06-09T21:45:29+00:00","level":"info","event":"request","request_id":"86548384cd3d6f295a699b63f45f86f9","method":"CLI","path":"/scripts/remind_unpaid_capsules.php","query":"","status":200,"duration_ms":69,"ip":"113.196.56.150","ua":"python-requests/2.32.3"}
{"ts":"2026-06-09T21:45:32+00:00","level":"warn","event":"request","request_id":"7070a1ed7a3fe6c98ce82a4a5e83b0bb","method":"GET","path":"/capsulize-testament/backend-php7/public/","query":"","status":404,"duration_ms":1,"ip":"113.196.56.150","ua":"python-requests/2.32.3"}
