Fix: increase PHP and Nginx upload limit to 512M for backup restore and enhance upload error reporting
This commit is contained in:
1 parent
a09f13de71
commit
c54a8e0c66
5 files changed
+59
-3
No files matched your search
@@ -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
@@ -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
@@ -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';
|
||||||
|
|||||||
@@ -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";
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
Reference in new issue
Block a user