fix(Discovery): Add comprehensive debug logging for router initialization
- Add initializer count logging in DiscoveryServiceBootstrapper - Add route structure analysis in RouterSetup - Add request parameter logging in HttpRouter - Update PHP production config for better OPcache handling - Fix various config and error handling improvements
This commit is contained in:
@@ -4,6 +4,7 @@ declare(strict_types=1);
|
||||
|
||||
namespace App\Framework\Filesystem;
|
||||
|
||||
use App\Framework\Config\Environment;
|
||||
use App\Framework\DI\Container;
|
||||
use App\Framework\DI\Initializer;
|
||||
use App\Framework\Filesystem\Serializers\CsvSerializer;
|
||||
@@ -23,26 +24,28 @@ final readonly class FilesystemInitializer
|
||||
public function initializeFilesystem(Container $container): void
|
||||
{
|
||||
// Filesystem Config
|
||||
$container->singleton(FilesystemConfig::class, function () {
|
||||
$container->singleton(FilesystemConfig::class, function (Container $container) {
|
||||
$env = $container->get(Environment::class);
|
||||
|
||||
return new FilesystemConfig(
|
||||
defaultStorage: $_ENV['FILESYSTEM_DEFAULT_STORAGE'] ?? 'local',
|
||||
defaultStorage: $env->getString('FILESYSTEM_DEFAULT_STORAGE', 'local'),
|
||||
storages: [
|
||||
'local' => [
|
||||
'type' => 'file',
|
||||
'path' => $_ENV['FILESYSTEM_LOCAL_PATH'] ?? '/var/www/html/storage',
|
||||
'path' => $env->getString('FILESYSTEM_LOCAL_PATH', '/var/www/html/storage'),
|
||||
],
|
||||
'temp' => [
|
||||
'type' => 'file',
|
||||
'path' => $_ENV['FILESYSTEM_TEMP_PATH'] ?? '/tmp',
|
||||
'path' => $env->getString('FILESYSTEM_TEMP_PATH', '/tmp'),
|
||||
],
|
||||
'analytics' => [
|
||||
'type' => 'file',
|
||||
'path' => $_ENV['ANALYTICS_DATA_PATH'] ?? '/var/www/html/storage/analytics',
|
||||
'path' => $env->getString('ANALYTICS_DATA_PATH', '/var/www/html/storage/analytics'),
|
||||
],
|
||||
],
|
||||
enableCompression: filter_var($_ENV['FILESYSTEM_COMPRESSION'] ?? 'false', FILTER_VALIDATE_BOOLEAN),
|
||||
enableAtomicWrites: filter_var($_ENV['FILESYSTEM_ATOMIC_WRITES'] ?? 'true', FILTER_VALIDATE_BOOLEAN),
|
||||
enableFileLocking: filter_var($_ENV['FILESYSTEM_FILE_LOCKING'] ?? 'true', FILTER_VALIDATE_BOOLEAN)
|
||||
enableCompression: $env->getBool('FILESYSTEM_COMPRESSION', false),
|
||||
enableAtomicWrites: $env->getBool('FILESYSTEM_ATOMIC_WRITES', true),
|
||||
enableFileLocking: $env->getBool('FILESYSTEM_FILE_LOCKING', true)
|
||||
);
|
||||
});
|
||||
|
||||
@@ -72,12 +75,13 @@ final readonly class FilesystemInitializer
|
||||
});
|
||||
|
||||
// FileValidator - Default Validator (always cached for performance)
|
||||
$container->singleton(FileValidator::class, function () {
|
||||
$container->singleton(FileValidator::class, function (Container $container) {
|
||||
$env = $container->get(Environment::class);
|
||||
$validator = FileValidator::createDefault();
|
||||
|
||||
// Always use caching for optimal performance
|
||||
// Disable only for debugging: FILESYSTEM_DISABLE_CACHE=true
|
||||
$disableCache = filter_var($_ENV['FILESYSTEM_DISABLE_CACHE'] ?? 'false', FILTER_VALIDATE_BOOLEAN);
|
||||
$disableCache = $env->getBool('FILESYSTEM_DISABLE_CACHE', false);
|
||||
|
||||
if ($disableCache) {
|
||||
return $validator;
|
||||
@@ -91,10 +95,11 @@ final readonly class FilesystemInitializer
|
||||
});
|
||||
|
||||
// FileValidator - Upload Validator (always cached)
|
||||
$container->singleton('filesystem.validator.upload', function () {
|
||||
$container->singleton('filesystem.validator.upload', function (Container $container) {
|
||||
$env = $container->get(Environment::class);
|
||||
$validator = FileValidator::forUploads();
|
||||
|
||||
$disableCache = filter_var($_ENV['FILESYSTEM_DISABLE_CACHE'] ?? 'false', FILTER_VALIDATE_BOOLEAN);
|
||||
$disableCache = $env->getBool('FILESYSTEM_DISABLE_CACHE', false);
|
||||
|
||||
if ($disableCache) {
|
||||
return $validator;
|
||||
@@ -104,10 +109,11 @@ final readonly class FilesystemInitializer
|
||||
});
|
||||
|
||||
// FileValidator - Image Validator (always cached)
|
||||
$container->singleton('filesystem.validator.image', function () {
|
||||
$container->singleton('filesystem.validator.image', function (Container $container) {
|
||||
$env = $container->get(Environment::class);
|
||||
$validator = FileValidator::forImages();
|
||||
|
||||
$disableCache = filter_var($_ENV['FILESYSTEM_DISABLE_CACHE'] ?? 'false', FILTER_VALIDATE_BOOLEAN);
|
||||
$disableCache = $env->getBool('FILESYSTEM_DISABLE_CACHE', false);
|
||||
|
||||
if ($disableCache) {
|
||||
return $validator;
|
||||
@@ -144,7 +150,8 @@ final readonly class FilesystemInitializer
|
||||
{
|
||||
// Always enable storage caching for optimal performance
|
||||
// Disable only for debugging: FILESYSTEM_DISABLE_CACHE=true
|
||||
$disableCache = filter_var($_ENV['FILESYSTEM_DISABLE_CACHE'] ?? 'false', FILTER_VALIDATE_BOOLEAN);
|
||||
$env = $container->get(Environment::class);
|
||||
$disableCache = $env->getBool('FILESYSTEM_DISABLE_CACHE', false);
|
||||
$enableStorageCache = !$disableCache;
|
||||
|
||||
// Default Storage - nutzt PathProvider aus Container
|
||||
|
||||
Reference in New Issue
Block a user