Resolved multiple critical discovery system issues: ## Discovery System Fixes - Fixed console commands not being discovered on first run - Implemented fallback discovery for empty caches - Added context-aware caching with separate cache keys - Fixed object serialization preventing __PHP_Incomplete_Class ## Cache System Improvements - Smart caching that only caches meaningful results - Separate caches for different execution contexts (console, web, test) - Proper array serialization/deserialization for cache compatibility - Cache hit logging for debugging and monitoring ## Object Serialization Fixes - Fixed DiscoveredAttribute serialization with proper string conversion - Sanitized additional data to prevent object reference issues - Added fallback for corrupted cache entries ## Performance & Reliability - All 69 console commands properly discovered and cached - 534 total discovery items successfully cached and restored - No more __PHP_Incomplete_Class cache corruption - Improved error handling and graceful fallbacks ## Testing & Quality - Fixed code style issues across discovery components - Enhanced logging for better debugging capabilities - Improved cache validation and error recovery Ready for production deployment with stable discovery system. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
Environment Configuration Guide
This directory contains environment templates for different deployment environments of the Custom PHP Framework.
Environment Templates
.env.production.template
Production environment template with security-focused configurations:
- APP_DEBUG=false
- Strict session fingerprinting
- Xdebug disabled
- Production logging levels
- Strong password requirements
.env.staging.template
Staging environment template for testing:
- APP_DEBUG=true
- Moderate security settings
- Xdebug enabled for debugging
- Verbose logging
- Test API configurations
Usage
-
Copy the appropriate template:
cp .env.production.template .env.production # or cp .env.staging.template .env.staging -
Fill in required values:
- Replace all
*** REQUIRED ***placeholders with actual values - Generate strong passwords for database credentials
- Configure API keys and service credentials
- Set proper domain names and SSL certificate paths
- Replace all
-
Security Considerations:
- Never commit actual
.env.productionor.env.stagingfiles to version control - Use strong, unique passwords for each environment
- Rotate credentials regularly
- Enable appropriate session fingerprinting for security
- Never commit actual
Environment-Specific Settings
Development → Staging Changes
- Enable Xdebug but remove IDE configurations
- Use staging database and credentials
- Enable detailed logging for debugging
- Use test API endpoints where available
Staging → Production Changes
- Disable all debug features (APP_DEBUG=false, XDEBUG_MODE=off)
- Enable strict security settings
- Use production database with strong credentials
- Set warning-level logging only
- Configure production SSL certificates
- Use production API keys and webhooks
Required Values by Environment
Production Requirements
- Database: Strong passwords, production database name
- APIs: Production webhook secrets, SMTP credentials
- SSL: Valid SSL certificate paths
- Monitoring: Production-grade logging configuration
Staging Requirements
- Database: Separate staging database credentials
- APIs: Test/staging API keys where available
- SSL: Test certificates or self-signed certificates
- Monitoring: Verbose logging for debugging
Environment Variable Categories
Core Application
APP_ENV,APP_DEBUG,APP_URL,APP_DOMAIN
Database Configuration
DB_HOST,DB_DATABASE,DB_USERNAME,DB_PASSWORD,DB_ROOT_PASSWORD
Security & Session
- Session fingerprinting settings
- SSL certificate paths
- Authentication configurations
External Services
- SMTP configuration for emails
- Third-party API credentials
- Webhook secrets
Performance & Caching
- OPcache settings
- Redis configuration
- Worker process limits
Monitoring & Logging
- Log levels and channels
- Error reporting settings
- Analytics configuration
Deployment Integration
These environment files are used by:
- Docker Compose overlays (
docker-compose.production.yml,docker-compose.staging.yml) - Ansible deployment playbooks
- Application deployment scripts
Security Best Practices
-
Credential Management:
- Use strong, unique passwords for each environment
- Consider using a password manager or secrets management service
- Rotate credentials regularly
-
Environment Isolation:
- Keep staging and production completely separate
- Use different database servers and API keys
- Monitor access to production credentials
-
File Permissions:
- Set restrictive permissions on environment files (600)
- Ensure only necessary users can read the files
- Never include in version control
-
SSL/TLS Configuration:
- Use valid SSL certificates in production
- Enable HTTPS everywhere
- Configure proper cipher suites
Troubleshooting
Common Issues
- Missing required values: Check for
*** REQUIRED ***placeholders - Database connection failures: Verify database credentials and host
- SSL certificate errors: Check certificate paths and permissions
- API failures: Verify API keys and endpoint configurations
Environment-Specific Debugging
- Staging: Enable verbose logging and Xdebug
- Production: Check application logs and monitoring systems
- Both: Verify environment variable loading in application
Integration with Deployment
The environment templates integrate with:
- Docker Compose overlays for environment-specific container configuration
- Ansible playbooks for automated environment setup
- Application deployment scripts for environment validation and deployment