- 134-tool registry with programmatic SEO (unique titles/H1/descriptions, JSON-LD graphs, sitemap index, canonical 301 enforcement via required filter) - DB-backed job queue (SKIP LOCKED) with drivers: Ffmpeg, Images (GD), Pdf (qpdf/gs/poppler), Youtube (thumbnails), Qr (server-side PNG) - Security: SSRF guard, MIME validation, rate limits, API-key auth, bcrypt admin login, security headers - Admin panel: dashboard, tools/categories/guides CRUD, SEO audit, analytics, job inspector with retry, system health, feature flags - Docker deployment (nginx + web/api FPM pools + scalable workers), PHPUnit suite (19 tests / 1139 assertions), PWA manifest + service worker
35 lines
1.3 KiB
PHP
35 lines
1.3 KiB
PHP
<?php
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| ERROR DISPLAY
|
|
|--------------------------------------------------------------------------
|
|
| In development, we want to show as many errors as possible to help
|
|
| make sure they don't make it to production. And save us hours of
|
|
| painful debugging.
|
|
|
|
|
| If you set 'display_errors' to '1', CI4's detailed error report will show.
|
|
*/
|
|
error_reporting(E_ALL);
|
|
ini_set('display_errors', '1');
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| DEBUG BACKTRACES
|
|
|--------------------------------------------------------------------------
|
|
| If true, this constant will tell the error screens to display debug
|
|
| backtraces along with the other error information. If you would
|
|
| prefer to not see this, set this value to false.
|
|
*/
|
|
defined('SHOW_DEBUG_BACKTRACE') || define('SHOW_DEBUG_BACKTRACE', true);
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| DEBUG MODE
|
|
|--------------------------------------------------------------------------
|
|
| Debug mode is an experimental flag that can allow changes throughout
|
|
| the system. This will control whether Kint is loaded, and a few other
|
|
| items. It can always be used within your own application too.
|
|
*/
|
|
defined('CI_DEBUG') || define('CI_DEBUG', true);
|