Files
crm.clientright.ru/debug_upload_issue.php

134 lines
4.7 KiB
PHP
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
/**
* Диагностика проблемы с загрузкой файлов
*/
echo "=== ДИАГНОСТИКА ЗАГРУЗКИ ФАЙЛОВ ===\n";
// 1. Проверяем права доступа к логам
echo "1. Проверка прав доступа к логам:\n";
$logFiles = ['logs/php_errors.log', 'logs/application.log', 'logs/vtigercrm.log'];
foreach ($logFiles as $logFile) {
if (file_exists($logFile)) {
$perms = fileperms($logFile);
$readable = is_readable($logFile);
echo " $logFile: " . ($readable ? "READABLE" : "NOT READABLE") . " (perms: " . substr(sprintf('%o', $perms), -4) . ")\n";
} else {
echo " $logFile: NOT EXISTS\n";
}
}
// 2. Проверяем права на запись в storage
echo "\n2. Проверка прав на запись в storage:\n";
$storageDir = 'storage';
if (is_dir($storageDir)) {
$writable = is_writable($storageDir);
$perms = fileperms($storageDir);
echo " $storageDir: " . ($writable ? "WRITABLE" : "NOT WRITABLE") . " (perms: " . substr(sprintf('%o', $perms), -4) . ")\n";
} else {
echo " $storageDir: NOT EXISTS\n";
}
// 3. Проверяем права на запись в logs
echo "\n3. Проверка прав на запись в logs:\n";
$logsDir = 'logs';
if (is_dir($logsDir)) {
$writable = is_writable($logsDir);
$perms = fileperms($logsDir);
echo " $logsDir: " . ($writable ? "WRITABLE" : "NOT WRITABLE") . " (perms: " . substr(sprintf('%o', $perms), -4) . ")\n";
} else {
echo " $logsDir: NOT EXISTS\n";
}
// 4. Проверяем PHP ошибки
echo "\n4. Проверка PHP ошибок:\n";
$errorLog = ini_get('error_log');
echo " error_log: $errorLog\n";
echo " display_errors: " . (ini_get('display_errors') ? 'ON' : 'OFF') . "\n";
echo " log_errors: " . (ini_get('log_errors') ? 'ON' : 'OFF') . "\n";
// 5. Проверяем временные файлы
echo "\n5. Проверка временных файлов:\n";
$tmpDir = sys_get_temp_dir();
echo " tmp_dir: $tmpDir\n";
echo " tmp_dir writable: " . (is_writable($tmpDir) ? 'YES' : 'NO') . "\n";
// 6. Проверяем upload_tmp_dir
$uploadTmpDir = ini_get('upload_tmp_dir');
if ($uploadTmpDir) {
echo " upload_tmp_dir: $uploadTmpDir\n";
echo " upload_tmp_dir writable: " . (is_writable($uploadTmpDir) ? 'YES' : 'NO') . "\n";
} else {
echo " upload_tmp_dir: NOT SET (using system temp)\n";
}
// 7. Проверяем настройки загрузки файлов
echo "\n6. Настройки загрузки файлов:\n";
echo " upload_max_filesize: " . ini_get('upload_max_filesize') . "\n";
echo " post_max_size: " . ini_get('post_max_size') . "\n";
echo " max_file_uploads: " . ini_get('max_file_uploads') . "\n";
echo " max_execution_time: " . ini_get('max_execution_time') . "\n";
echo " memory_limit: " . ini_get('memory_limit') . "\n";
// 8. Проверяем $_FILES
echo "\n7. Проверка \$_FILES:\n";
if (!empty($_FILES)) {
foreach ($_FILES as $key => $file) {
echo " \$_FILES[$key]:\n";
echo " name: " . $file['name'] . "\n";
echo " tmp_name: " . $file['tmp_name'] . "\n";
echo " size: " . $file['size'] . "\n";
echo " error: " . $file['error'] . "\n";
echo " type: " . $file['type'] . "\n";
}
} else {
echo " \$_FILES пуст\n";
}
// 9. Проверяем $_POST
echo "\n8. Проверка \$_POST:\n";
if (!empty($_POST)) {
foreach ($_POST as $key => $value) {
if (is_string($value) && strlen($value) > 100) {
echo " \$_POST[$key]: " . substr($value, 0, 100) . "... (truncated)\n";
} else {
echo " \$_POST[$key]: $value\n";
}
}
} else {
echo " \$_POST пуст\n";
}
// 10. Проверяем $_GET
echo "\n9. Проверка \$_GET:\n";
if (!empty($_GET)) {
foreach ($_GET as $key => $value) {
echo " \$_GET[$key]: $value\n";
}
} else {
echo " \$_GET пуст\n";
}
// 11. Проверяем feature flag
echo "\n10. Проверка feature flag:\n";
if (file_exists('config.inc.php')) {
$config = file_get_contents('config.inc.php');
if (strpos($config, 'UPLOAD_TO_S3') !== false) {
echo " UPLOAD_TO_S3 найден в config.inc.php\n";
// Извлекаем значение
if (preg_match('/\$UPLOAD_TO_S3\s*=\s*(true|false)/', $config, $matches)) {
echo " UPLOAD_TO_S3 = " . $matches[1] . "\n";
}
} else {
echo " UPLOAD_TO_S3 НЕ найден в config.inc.php\n";
}
} else {
echo " config.inc.php НЕ найден\n";
}
echo "\n=== КОНЕЦ ДИАГНОСТИКИ ===\n";
?>