Fix: increase PHP and Nginx upload limit to 512M for backup restore and enhance upload error reporting

This commit is contained in:
sorcier committed 2026-11-02 13:52:15 +01:00
1 parent a09f13de71
commit c54a8e0c66
5 files changed
+59 -3

No files matched your search

+1
View File
@@ -4,6 +4,7 @@
/storage/*.sqlite /storage/*.sqlite
/storage/*.sqlite-shm /storage/*.sqlite-shm
/storage/*.sqlite-wal /storage/*.sqlite-wal
/storage/*.prerestore.*
# Données dynamiques et métriques # Données dynamiques et métriques
/storage/metrics_prev.json /storage/metrics_prev.json
+22
View File
@@ -200,6 +200,28 @@ EOF_OVERRIDE
done done
systemctl daemon-reload systemctl daemon-reload
# Configuration des limites d'upload PHP (Restauration d'archives 512 Mo & Sons volumineux)
for php_dir in /etc/php/*; do
if [ -d "$php_dir/fpm/conf.d" ]; then
cat << 'EOF_PHP' > "$php_dir/fpm/conf.d/99-nexus.ini"
upload_max_filesize = 512M
post_max_size = 512M
memory_limit = 512M
max_execution_time = 300
max_input_time = 300
EOF_PHP
fi
if [ -d "$php_dir/cli/conf.d" ]; then
cat << 'EOF_PHP' > "$php_dir/cli/conf.d/99-nexus.ini"
upload_max_filesize = 512M
post_max_size = 512M
memory_limit = 512M
max_execution_time = 300
max_input_time = 300
EOF_PHP
fi
done
# 5. Configuration d'Asterisk & Certificats TLS de secours # 5. Configuration d'Asterisk & Certificats TLS de secours
echo -e "${C_GREEN}[4/8] Configuration du moteur Asterisk PJSIP & AMI...${C_RESET}" echo -e "${C_GREEN}[4/8] Configuration du moteur Asterisk PJSIP & AMI...${C_RESET}"
+12 -1
View File
@@ -1992,7 +1992,18 @@ try {
case 'upload_restore_backup': case 'upload_restore_backup':
if (empty($_FILES['backup_file']['tmp_name']) || !is_uploaded_file($_FILES['backup_file']['tmp_name'])) { if (empty($_FILES['backup_file']['tmp_name']) || !is_uploaded_file($_FILES['backup_file']['tmp_name'])) {
throw new InvalidArgumentException("Aucun fichier de sauvegarde valide n'a été téléversé."); $errCode = $_FILES['backup_file']['error'] ?? null;
$errMessages = [
UPLOAD_ERR_INI_SIZE => "L'archive dépasse la taille maximale autorisée par le serveur (upload_max_filesize).",
UPLOAD_ERR_FORM_SIZE => "L'archive dépasse la taille maximale spécifiée dans le formulaire.",
UPLOAD_ERR_PARTIAL => "Le fichier de sauvegarde n'a été que partiellement téléversé.",
UPLOAD_ERR_NO_FILE => "Aucun fichier de sauvegarde n'a été sélectionné.",
UPLOAD_ERR_NO_TMP_DIR => "Dossier temporaire manquant sur le serveur.",
UPLOAD_ERR_CANT_WRITE => "Échec d'écriture du fichier temporaire sur le disque.",
UPLOAD_ERR_EXTENSION => "Une extension PHP a arrêté le téléversement de l'archive.",
];
$msg = $errMessages[$errCode] ?? "Aucun fichier de sauvegarde valide n'a été téléversé (erreur de transfert ou fichier trop volumineux).";
throw new InvalidArgumentException($msg);
} }
$origName = $_FILES['backup_file']['name'] ?? 'backup.tar.gz'; $origName = $_FILES['backup_file']['name'] ?? 'backup.tar.gz';
+22
View File
@@ -99,6 +99,28 @@ EOF_OVERRIDE
done done
systemctl daemon-reload systemctl daemon-reload
echo "-> Configuration des limites d'upload PHP (512 Mo)..."
for php_dir in /etc/php/*; do
if [ -d "$php_dir/fpm/conf.d" ]; then
cat << 'EOF_PHP' > "$php_dir/fpm/conf.d/99-nexus.ini"
upload_max_filesize = 512M
post_max_size = 512M
memory_limit = 512M
max_execution_time = 300
max_input_time = 300
EOF_PHP
fi
if [ -d "$php_dir/cli/conf.d" ]; then
cat << 'EOF_PHP' > "$php_dir/cli/conf.d/99-nexus.ini"
upload_max_filesize = 512M
post_max_size = 512M
memory_limit = 512M
max_execution_time = 300
max_input_time = 300
EOF_PHP
fi
done
echo "-> Génération des configurations Asterisk..." echo "-> Génération des configurations Asterisk..."
php -r ' php -r '
require_once "/var/www/nexus-pbx/src/Database.php"; require_once "/var/www/nexus-pbx/src/Database.php";
+2 -2
View File
@@ -380,7 +380,7 @@ server {
listen [::]:80 default_server; listen [::]:80 default_server;
server_name _; server_name _;
client_max_body_size 64M; client_max_body_size 512M;
root /var/www/nexus-pbx/public; root /var/www/nexus-pbx/public;
index index.php; index index.php;
@@ -429,7 +429,7 @@ server {
ssl_ciphers HIGH:!aNULL:!MD5; ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on; ssl_prefer_server_ciphers on;
client_max_body_size 64M; client_max_body_size 512M;
root /var/www/nexus-pbx/public; root /var/www/nexus-pbx/public;
index index.php; index index.php;