diff --git a/Dockerfile b/Dockerfile index 4a1335f..68a473a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,8 +4,13 @@ FROM php:8.3-apache RUN apt-get update && apt-get install -y \ libsqlite3-dev \ libzip-dev \ + libjpeg-dev \ + libpng-dev \ + libwebp-dev \ + libgif-dev \ unzip \ - && docker-php-ext-install pdo_sqlite zip + && docker-php-ext-configure gd --with-jpeg --with-webp \ + && docker-php-ext-install pdo_sqlite zip gd # Set DocumentRoot ENV APACHE_DOCUMENT_ROOT=/var/www/html diff --git a/api/optimize_image.php b/api/optimize_image.php index 0814124..140bef9 100644 --- a/api/optimize_image.php +++ b/api/optimize_image.php @@ -1,6 +1,9 @@ response.json()) - .then(data => { - if (data.success) { - alert('Image optimized successfully. The page will now reload.'); - window.location.reload(); - } else { - alert('An error occurred: ' + data.message); + .then(response => { + console.log('Response status:', response.status); + console.log('Response headers:', response.headers); + + if (!response.ok) { + throw new Error(`HTTP error! status: ${response.status}`); + } + + return response.text(); // First get as text to see raw response + }) + .then(text => { + console.log('Raw response:', text); + try { + const data = JSON.parse(text); + if (data.success) { + alert('Image optimized successfully. The page will now reload.'); + window.location.reload(); + } else { + alert('An error occurred: ' + data.message); + } + } catch (parseError) { + console.error('JSON parse error:', parseError); + console.error('Response text:', text); + alert('Invalid response from server. Check console for details.'); } }) .catch(error => { - console.error('Error:', error); - alert('A network error occurred. Please try again.'); + console.error('Fetch error:', error); + alert('A network error occurred: ' + error.message); }); } } \ No newline at end of file