📋 View Server Logs →

Issues Detected
Incoming Request
Configuration & Files
MySQL Database
cURL & Connectivity
Mailing Service
Recent Logs
API Endpoints
Incoming Request
Method:      GET
URI:         /v1/diagnostics.php
Query:       
Host:        api.playpadel.be
User-Agent:  Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
Body length: 0
Body:        [empty]

Client IP:   216.73.216.158  (from: REMOTE_ADDR)
IP candidates (resolution order):
  - REMOTE_ADDR | raw='216.73.216.158' | candidate='216.73.216.158' | valid=YES | loopback=NO | public=YES

Forwarded headers:
  HTTP_CF_CONNECTING_IP: [not set]
  HTTP_X_FORWARDED_FOR: [not set]
  HTTP_X_REAL_IP: [not set]
  HTTP_X_CLIENT_IP: [not set]
  HTTP_X_FORWARDED: [not set]
  HTTP_CLIENT_IP: [not set]
  REMOTE_ADDR: 216.73.216.158

Working dir: /home/u565002880/domains/playpadel.be/public_html/api/v1
__DIR__:     /home/u565002880/domains/playpadel.be/public_html/api/v1
Configuration & Files
DATA_BASE_DIR:          /home/u565002880/domains/playpadel.be/public_html/api/data
ADDRESS_LOCATIONS_CSV:  /home/u565002880/domains/playpadel.be/public_html/api/data/meta/clubs_global_meta.csv
DATA_TOURNAMENTS_DIR:   /home/u565002880/domains/playpadel.be/public_html/api/data/tournaments

Base data directory:    ✓ EXISTS
CSV file:               ✓ EXISTS
Tournaments directory:  ✓ EXISTS

Tournament files pattern: /home/u565002880/domains/playpadel.be/public_html/api/data/tournaments/tournaments_all_*.json
Found 24 tournament file(s):
  - tournaments_all_2024-11.json
  - tournaments_all_2024-12.json
  - tournaments_all_2025-01.json
  - tournaments_all_2025-02.json
  - tournaments_all_2025-03.json
  - tournaments_all_2025-04.json
  - tournaments_all_2025-05.json
  - tournaments_all_2025-06.json
  - tournaments_all_2025-07.json
  - tournaments_all_2025-08.json
  - tournaments_all_2025-09.json
  - tournaments_all_2025-10.json
  - tournaments_all_2025-11.json
  - tournaments_all_2025-12.json
  - tournaments_all_2026-01.json
  - tournaments_all_2026-02.json
  - tournaments_all_2026-03.json
  - tournaments_all_2026-04.json
  - tournaments_all_2026-05.json
  - tournaments_all_2026-06.json
  - tournaments_all_2026-07.json
  - tournaments_all_2026-08.json
  - tournaments_all_2026-09.json
  - tournaments_all_2026-10.json

CSV analysis:
  Header: club_id, name, alt_names, id, location, dashboard_id, adres_hoofdlocatie, telefoonnummer, email, website, aantal_leden, indoor, outdoor, latitude, longitude, village, town, city, municipality, state, postcode, country_code, source, last_updated
  Row 1: 'AALST PADEL 2.0' -> (50.9351114, 4.0851495)
  Row 2: 'ACASA PADEL LAARNE' -> (51.0312486, 3.8675746)
  Row 3: 'ANDERLECHT TENNIS' -> (50.8361948, 4.2896458)
  Row 4: 'ANTWERP INDOOR PADEL CLUB' -> (51.2864716, 4.5712193)
  Row 5: 'ANTWERP PADEL CLUB' -> (51.188124, 4.4338495)
  Row 6: 'Arenal Antwerpen' -> (51.238043, 4.4151042)
  Row 7: 'Arenal Bree' -> (51.132053, 5.5883186)
  Row 8: 'ARENAL BRUGGE' -> (51.2185615, 3.2459418)
  Row 9: 'ARENAL GRIMBERGEN' -> (50.9083404, 4.3453012)
  Row 10: 'Arenal Hoogerheide' -> (51.4201505, 4.3360085)
  Rows processed: 10 | Valid: 10
MySQL Database
mysqli extension: ✓ YES
PDO extension:    ✓ YES

DB connector:  ✓ Loaded
DB_HOST:       localhost
DB_NAME:       u565002880_playpadel
DB_USER:       u565002880_PlayPadelMySql
DB_PASS:       SET (length: 19)

Connection:    ✓ SUCCESS
MySQL version: 11.8.6-MariaDB-log
Database:      u565002880_playpadel

Tables:
  ✓ schema_version
  ✓ users
  ✓ user_profiles
  ✓ notification_log
  ✓ user_confirmation_ips

Schema version:
  Version:     1.3
  Description: Updated schema: added authentication_token column to users table
  Applied at:  2026-03-22 07:13:43

Row counts:
  schema_version: 1 rows
  users: 2 rows
  user_profiles: 4 rows
  notification_log: 0 rows
  user_confirmation_ips: 7 rows

Basic query: ✓ SUCCESS
cURL & Connectivity
cURL extension: ✓ YES — v8.14.1

padelstats.be:
  URL:      https://padelstats.be/api/list_users?s=test
  HTTP:     200 ✓
  Error:    None
  Response: 2167 bytes — [{"id":169391,"name":"Testelmans Dries","name_club":"TPC LAAKDAL VZW","padel":100,"category":"M"},{"id":364916,"name":"Testelmans Frank","name_club":"HEISTSE T.C.","padel":100,"category":"M"},{"id":60

DNS:
  padelstats.be → 139.177.177.125

httpbin.org:
  HTTP:     200 ✓
  Error:    None
  Response: YES
Mailing Service
PHP mail():   ✓ Available
fsockopen():  ✓ Available

Configuration:
  FEEDBACK_EMAIL_TO:      ✓ SET
  FEEDBACK_SMTP_HOST:     ✓ SET
  FEEDBACK_SMTP_PORT:     ✓ SET
  FEEDBACK_SMTP_USERNAME: ✓ SET
  FEEDBACK_SMTP_PASSWORD: ✓ SET (len: 19)
  HOSTING_MAIL_FROM:      info@playpadel.be
  HOSTING_SMTP_HOST:      ✓ SET
  HOSTING_SMTP_PORT:      ✓ SET
  HOSTING_SMTP_USERNAME:  ✓ SET
  HOSTING_SMTP_PASSWORD:  ✓ SET (len: 19)

Live tests: DISABLED — append ?send_email_test=1 to enable

mail() test:
  SKIPPED (live send disabled)

Hosting mail() → jochen.gerardi@gmail.com:
  SKIPPED (live send disabled)

Sender-domain DNS (playpadel.be):
  MX record:    ✓ EXISTS
  SPF record:   ✓ FOUND
  DMARC record: ✓ FOUND

Note: mail() SUCCESS only confirms handoff to the local MTA, not final delivery.

SMTP fallback: SKIPPED (live send disabled)

Overall status:
  Append ?send_email_test=1 to run live delivery tests.
  Hosting delivery (jochen.gerardi@gmail.com): SKIPPED
Recent Logs
Feedback log: /home/u565002880/domains/playpadel.be/public_html/api/data/feedback.log
Exists:       ✓ YES

Recent entries (last 20):
────────────────────────────────────────────────────────────
[2026-05-04 20:52:12] IP:2a02:1812:171d:ff00:c4bb:6e91:81b1:f29 Fingerprint:ghsrfc Feedback from jochen.gerardi@gmail.com: this is crap 321
ertyretyreyrtey
[2026-05-29 20:30:59] IP:2a02:1812:171d:ff00:252d:477:7a35:d417 Fingerprint:no0axj Feedback from jochen.gerardi@gmail.com: this is crap 321
sdfgsdfg dfgd fgdf dfg dgdg
────────────────────────────────────────────────────────────

PHP Error Log:
  error_log:      /home/u565002880/.logs/error_log_api_playpadel_be
  log_errors:     ON
  display_errors: OFF

Searching error logs:
  Found: /home/u565002880/domains/playpadel.be/public_html/api/data/api_errors.log
────────────────────────────────────────────────────────────
[05-Jun-2026 14:49:27 UTC] API request received: /v1/clubs?limit=500
[05-Jun-2026 14:49:27 UTC] Final path after stripping: /clubs
[05-Jun-2026 14:49:27 UTC] Path received: /clubs
[05-Jun-2026 14:49:27 UTC] Checking routes for path: /clubs
[05-Jun-2026 14:49:27 UTC] Handling clubs summary
[05-Jun-2026 14:49:27 UTC] /home/u565002880/domains/playpadel.be/public_html/api/data/clubs
[05-Jun-2026 14:49:27 UTC] Loaded 329 address locations
[05-Jun-2026 14:49:27 UTC] Processed 272 clubs
[05-Jun-2026 14:49:27 UTC] Filter vars - club_name: '', min_members: '', max_members: '', radius: '', user_lat: '', user_lng: ''
[05-Jun-2026 14:49:27 UTC] After filters: 272 clubs
[05-Jun-2026 20:10:27 UTC] API request received: /v1/tournaments?start_date=05%2F06%2F2026&end_date=05%2F07%2F2026
[05-Jun-2026 20:10:27 UTC] Final path after stripping: /tournaments
[05-Jun-2026 20:10:27 UTC] Path received: /tournaments
[05-Jun-2026 20:10:27 UTC] Checking routes for path: /tournaments
[05-Jun-2026 20:10:27 UTC] Handling tournaments list
[05-Jun-2026 20:10:27 UTC] API request received: /v1/news
[05-Jun-2026 20:10:27 UTC] Final path after stripping: /news
[05-Jun-2026 20:10:27 UTC] Path received: /news
[05-Jun-2026 20:10:27 UTC] Checking routes for path: /news
[05-Jun-2026 20:10:27 UTC] Handling news list
[05-Jun-2026 20:10:27 UTC] API request received: /v1/clubs?limit=500
[05-Jun-2026 20:10:27 UTC] Final path after stripping: /clubs
[05-Jun-2026 20:10:27 UTC] Path received: /clubs
[05-Jun-2026 20:10:27 UTC] Checking routes for path: /clubs
[05-Jun-2026 20:10:27 UTC] Handling clubs summary
[05-Jun-2026 20:10:27 UTC] /home/u565002880/domains/playpadel.be/public_html/api/data/clubs
[05-Jun-2026 20:10:27 UTC] Loaded 329 address locations
[05-Jun-2026 20:10:27 UTC] Processed 272 clubs
[05-Jun-2026 20:10:27 UTC] Filter vars - club_name: '', min_members: '', max_members: '', radius: '', user_lat: '', user_lng: ''
[05-Jun-2026 20:10:27 UTC] After filters: 272 clubs
────────────────────────────────────────────────────────────
API Endpoints
Feedback endpoint: https://api.playpadel.be/v1/feedback
Method:   POST
Data:     {"email":"diagnostic@playpadel.be","title":"Diagnostic Test via endpoint feedback","message":"Test f...
HTTP:     429 ✗
Error:    None
Response: 54 bytes — {"error":"Too many requests. Please try again later."}...