134 lines
4.7 KiB
PHP
134 lines
4.7 KiB
PHP
<?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";
|
||
?>
|
||
|
||
|
||
|