System Health Check
Check why the LMS may not be working
It checks PHP, database schema, responsive/PWA assets, HTTPS camera readiness, near-live teacher proctoring, browser integrity monitoring, secure online exam links, uploaded-source storage, and Gemini readiness for curriculum-grounded Augmented Lessons.
Detected Base Path
Current LMS URL path: /
Generated CSS URL: /assets/css/style.css?v=1781488799
For a root installation, the base path must be /. For a folder installation such as /adlearning/auth/login.php, it must be /adlearning/.
Health Checks
| Check | Status | Details |
|---|---|---|
| PHP version | Ok | 8.2.30 detected; PHP 8.1 or newer is required for this build. |
| PDO MySQL extension | Ok | Enabled |
| cURL extension | Ok | Enabled |
| ZipArchive extension | Ok | Enabled for DOCX parsing |
| PDF text extraction | Danger | pdftotext was not found. Configure PDFTOTEXT_PATH or upload DOCX/TXT/searchable PDF files. |
| mbstring extension | Ok | Enabled |
| Upload folder writable | Ok | Path: /home/u543833317/domains/mydeped.com/public_html/adlearning/uploads |
| Exam source service | Ok | Required for Reading Material, Curriculum Guide, and Budget of Work bundles. |
| Source files per category | Ok | EXAM_SOURCE_MAX_FILES_PER_TYPE=5 |
| PHP post_max_size | Ok | Current: 256M. Recommended: 64M for a question file plus the three required source categories. |
| PHP upload_max_filesize | Ok | Current: 256M; application per-file limit: 10 MB. |
| Project .env readable | Ok | Expected path: /home/u543833317/domains/mydeped.com/public_html/adlearning/.env |
| Main stylesheet | Ok | Browser URL: /assets/css/style.css?v=1781488799 |
| Main JavaScript | Ok | Browser URL: /assets/js/app.js?v=1781488799 |
| Proctoring JavaScript | Ok | Browser URL: /assets/js/proctor.js?v=1781488799 |
| Live proctor dashboard JavaScript | Ok | Browser URL: /assets/js/live-proctor.js?v=1781488799 |
| Live camera frame endpoint | Ok | Receives protected low-resolution frames from student devices. |
| Teacher live proctor dashboard | Ok | Teacher-only live camera grid and protected image delivery are installed. |
| PWA manifest | Ok | Browser URL: /manifest.webmanifest |
| Service worker | Ok | Browser URL: /service-worker.js |
| Secure camera context | Ok | HTTPS/localhost detected. Mobile camera permission can be requested. |
| PHP max_execution_time | Ok | Current value: 300 seconds. Recommended for Ollama: 120 or higher. |
| Default exam generation mode | Ok | AI_GENERATION_MODE=fast_local. Recommended online mode: gemini_online. Recommended offline mode: ollama_fast. |
| Fast generator source limit | Ok | FAST_GENERATOR_MAX_SOURCE_CHARS=3500. Lower values generate faster. |
| Ollama timeout setting | Ok | OLLAMA_TIMEOUT=60 seconds. Recommended: 60 or higher for Ollama Fast Builder. |
| Ollama fast batch size | Ok | OLLAMA_FAST_BATCH_ITEMS=1. Recommended for low-spec PCs: 3. |
| Ollama fast source size | Ok | OLLAMA_FAST_SOURCE_CHARS=2200. Lower source size creates faster local exams. |
| Gemini API key | Ok | Configured |
| Gemini model | Ok | GEMINI_MODEL=gemini-2.5-flash |
| Gemini batch size | Ok | GEMINI_BATCH_ITEMS=4. Recommended: 4. |
| Augmented Lesson provider | Ok | AUGMENTED_LESSON_PROVIDER=gemini_online. Recommended: gemini_online. |
| Augmented Lesson source size | Ok | GEMINI_AUGMENTED_SOURCE_CHARS=24000 characters. |
| Database connection | Ok | Connected to database: u543833317_ad_learning_v1 |
| MySQL wait_timeout | Ok | 20 seconds. Slow AI operations now reconnect before database writes. |
| MySQL max_allowed_packet | Ok | Server packet: 1024 MB; application inline text limit: 512 KB. |
| Complete LMS schema | Ok | SOLO TOS, secure exam links, permanent student self-registration, complete CRUD pages, required exam source bundles, Augmented Lesson metadata, integrity logs, and near-live camera proctoring fields are ready. |
| Table: users | Ok | 34 records |
| Table: materials | Ok | 20 records |
| Table: material_chunks | Ok | 128 records |
| Table: class_schedules | Ok | 3 records |
| Table: exams | Ok | 3 records |
| Table: exam_material_sources | Ok | 9 records |
| Table: exam_student_registrations | Ok | 49 records |
| Table: student_account_audit | Ok | 31 records |
| Table: exam_proctor_sessions | Ok | 48 records |
| Table: exam_proctor_events | Ok | 308 records |
| Table: exam_questions | Ok | 120 records |
| Table: student_exam_attempts | Ok | 45 records |
| Table: student_answers | Ok | 1800 records |
| Table: adaptive_lessons | Ok | 45 records |
| AI provider live probes | Ok | Skipped on the public diagnostics page. Log in as Admin or Teacher to run live Gemini/Ollama checks. |
Most Common Fixes
- Start Apache and MySQL in XAMPP or Laragon.
- Import
database/database.sqlin phpMyAdmin. - Confirm
.envdatabase values match your local MySQL account. - Use
Gemini Online APIfor faster online exam generation, orOllama Fast Builderfor offline/local generation. AddGEMINI_API_KEYin.envfor Gemini, or install Ollama and runollama pull qwen2.5:1.5bfor local AI. - Open the LMS through
http://localhost/your-folder-name, not by double-clicking the PHP file. - Run
database/migrations/2026_06_14_online_exam_augmented_lessons.sql, thendatabase/migrations/2026_06_14_exam_source_bundle_augmented_lessons.sqlonce on an existing installation. - Run
database/migrations/2026_06_14_student_exam_link_registration.sqlonce to enable permanent student account creation from exam links and teacher/admin credential resets. - Run
database/migrations/2026_06_14_crud_mobile_proctoring.sqlonce to add anti-cheating settings, integrity session/event logs, and attempt integrity fields. - Run
database/migrations/2026_06_14_live_camera_proctoring.sqlonce to add the protected near-live camera frame, heartbeat, and teacher dashboard fields. - Serve the LMS over HTTPS before requiring student camera access. Camera permission is blocked by browsers on ordinary public HTTP connections.
- For error 2006, keep
DB_INLINE_TEXT_MAX_BYTESbelow MySQL'smax_allowed_packet. The fixed build reconnects after Gemini/Ollama calls and stores large materials in chunks. - If reading excerpts show square boxes, the PDF was parsed as font glyph IDs instead of Unicode text. Configure
PDFTOTEXT_PATH, upload a searchable PDF/DOCX/TXT version, use Check / Repair Text, then regenerate the Augmented Lesson.