/var/www/vhosts/m-auto.co/httpdocs
Edit: /var/www/vhosts/m-auto.co/httpdocs/server_check.php (5293B)
M-AUTO Server Requirements Check";
echo "";
// PHP Version Check
echo "
PHP Configuration
";
$php_version = phpversion();
$min_php_version = '7.4';
if (version_compare($php_version, $min_php_version, '>=')) {
echo "
✓ PHP Version: $php_version (Required: $min_php_version+)
";
} else {
echo "
✗ PHP Version: $php_version (Required: $min_php_version+)
";
}
// Required Extensions
$required_extensions = [
'mysqli' => 'MySQL Database Support',
'mbstring' => 'Multibyte String Support (for Arabic)',
'gd' => 'Image Processing',
'curl' => 'HTTP Requests',
'json' => 'JSON Support',
'session' => 'Session Support',
'fileinfo' => 'File Information',
'zip' => 'ZIP Archive Support'
];
echo "
Required PHP Extensions
";
foreach ($required_extensions as $ext => $desc) {
if (extension_loaded($ext)) {
echo "
✓ $desc ($ext)
";
} else {
echo "
✗ $desc ($ext) - MISSING
";
}
}
// PHP Settings
echo "
PHP Settings
";
$settings = [
'upload_max_filesize' => ['current' => ini_get('upload_max_filesize'), 'recommended' => '10M'],
'post_max_size' => ['current' => ini_get('post_max_size'), 'recommended' => '10M'],
'max_execution_time' => ['current' => ini_get('max_execution_time'), 'recommended' => '300'],
'memory_limit' => ['current' => ini_get('memory_limit'), 'recommended' => '256M'],
'max_input_vars' => ['current' => ini_get('max_input_vars'), 'recommended' => '3000']
];
foreach ($settings as $setting => $values) {
$class = 'info';
$status = 'ℹ';
echo "
$status $setting: {$values['current']} (Recommended: {$values['recommended']})
";
}
// Directory Permissions
echo "
Directory Permissions
";
$directories = [
'uploads' => 'File Uploads',
'assets/images' => 'Image Assets',
'includes' => 'Include Files'
];
foreach ($directories as $dir => $desc) {
if (is_dir($dir)) {
if (is_writable($dir)) {
echo "
✓ $desc ($dir) - Writable
";
} else {
echo "
⚠ $desc ($dir) - Not Writable
";
}
} else {
echo "
⚠ $desc ($dir) - Directory doesn't exist
";
}
}
// Database Connection Test
echo "
Database Connection
";
try {
include 'includes/db.php';
if ($conn && !$conn->connect_error) {
echo "
✓ Database Connection - OK
";
// Check database charset
$charset_result = $conn->query("SELECT @@character_set_database as charset");
if ($charset_result) {
$charset = $charset_result->fetch_assoc()['charset'];
if ($charset === 'utf8mb4') {
echo "
✓ Database Charset: $charset (Arabic Support)
";
} else {
echo "
⚠ Database Charset: $charset (Recommended: utf8mb4)
";
}
}
// Check tables
$tables_result = $conn->query("SHOW TABLES");
$table_count = $tables_result->num_rows;
echo "
ℹ Database Tables: $table_count found
";
} else {
echo "
✗ Database Connection Failed
";
}
} catch (Exception $e) {
echo "
✗ Database Connection Error: " . $e->getMessage() . "
";
}
// Server Information
echo "
Server Information
";
echo "
ℹ Server Software: " . $_SERVER['SERVER_SOFTWARE'] . "
";
echo "
ℹ Document Root: " . $_SERVER['DOCUMENT_ROOT'] . "
";
echo "
ℹ Current Directory: " . __DIR__ . "
";
echo "
ℹ PHP SAPI: " . php_sapi_name() . "
";
echo "
Recommendations for Production
";
echo "
⚠ Remove this file (server_check.php) after deployment
";
echo "
⚠ Update database credentials in includes/config.php
";
echo "
⚠ Enable HTTPS and update .htaccess
";
echo "
⚠ Set up regular database backups
";
echo "
⚠ Configure error logging
";
echo "
Generated on: " . date('Y-m-d H:i:s') . "
";
?>