Spis treści
- Wprowadzenie – problem ze skalowaniem obrazów
- Najczęstsze przyczyny problemów ze skalowaniem
- Sprawdzanie bibliotek graficznych (GD/ImageMagick)
- Naprawa uprawnień folderu uploads
- Zwiększenie limitu pamięci PHP
- Konflikty z wtyczkami do obróbki obrazów
- Konfiguracja wymiarów obrazów w WordPress
- Regeneracja miniaturek po naprawie
- Zapobieganie problemom w przyszłości
- Podsumowanie – kluczowe kroki naprawy
Wprowadzenie – problem ze skalowaniem obrazów
Automatyczne skalowanie obrazów to kluczowa funkcja WordPress, która tworzy różne rozmiary miniaturek podczas wgrywania plików. Gdy ta funkcja przestaje działać, obrazy nie są odpowiednio przetwarzane, co wpływa na wygląd i wydajność strony.
Problem ten może objawiać się na różne sposoby: brakiem miniaturek, błędami podczas wgrywania obrazów, lub obrazami w oryginalnym rozmiarze zamiast zoptymalizowanych wersji. Według danych, około 18% administratorów WordPress spotyka się z problemami ze skalowaniem obrazów przynajmniej raz w roku.
W tym przewodniku przeprowadzę Cię przez proces diagnozowania i naprawiania problemów z automatycznym skalowaniem obrazów w WordPress, krok po kroku wyjaśniając każdą metodę i jej zastosowanie.
Najczęstsze przyczyny problemów ze skalowaniem
Zanim przejdziemy do metod naprawy, warto zrozumieć, co najczęściej powoduje problemy ze skalowaniem obrazów:
1. Brak biblioteki GD lub ImageMagick
Najczęstsza przyczyna – serwer nie ma zainstalowanej biblioteki do przetwarzania obrazów, która jest niezbędna dla funkcji skalowania WordPress.
2. Nieprawidłowe uprawnienia folderu uploads
Zbyt restrykcyjne uprawnienia mogą uniemożliwić WordPressowi tworzenie miniaturek i zapisywanie przetworzonych obrazów.
3. Zbyt niski limit pamięci PHP
Przetwarzanie dużych obrazów wymaga odpowiedniej ilości pamięci PHP. Zbyt niski limit może powodować przerwanie procesu skalowania.
4. Konflikty z wtyczkami
Niektóre wtyczki do obróbki obrazów mogą konfliktować z natywnym systemem skalowania WordPress.
5. Uszkodzone pliki WordPress
Rzadziej, ale możliwe – uszkodzone pliki rdzenia WordPress mogą powodować problemy z funkcjami obrazów.
Sprawdzanie bibliotek graficznych (GD/ImageMagick)
Pierwszym krokiem w diagnozowaniu problemów ze skalowaniem jest sprawdzenie, czy serwer ma zainstalowane odpowiednie biblioteki graficzne.
Metoda 1: Sprawdzanie przez panel WordPress
- Zaloguj się do panelu administracyjnego WordPress
- Przejdź do Narzędzia → Stan zdrowia witryny
- Kliknij zakładkę Informacje
- Przewiń do sekcji Serwer
- Szukaj informacji o bibliotekach graficznych (GD lub ImageMagick)
Metoda 2: Sprawdzanie przez phpinfo()
- Utwórz nowy plik PHP o nazwie info.php
- Dodaj do niego następujący kod:
PHP Version 8.4.21 |
| System | Linux pl9.devdoit.pro 6.1.0-49-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.174-1 (2026-05-26) x86_64 |
| Build Date | May 14 2026 15:47:03 |
| Build System | Linux |
| Build Provider | Debian |
| Server API | FPM/FastCGI |
| Virtual Directory Support | disabled |
| Configuration File (php.ini) Path | /etc/php/8.4/fpm |
| Loaded Configuration File | /etc/php/8.4/fpm/php.ini |
| Scan this dir for additional .ini files | /etc/php/8.4/fpm/conf.d |
| Additional .ini files parsed | /etc/php/8.4/fpm/conf.d/10-mysqlnd.ini, /etc/php/8.4/fpm/conf.d/10-opcache.ini, /etc/php/8.4/fpm/conf.d/10-pdo.ini, /etc/php/8.4/fpm/conf.d/15-xml.ini, /etc/php/8.4/fpm/conf.d/20-bcmath.ini, /etc/php/8.4/fpm/conf.d/20-bz2.ini, /etc/php/8.4/fpm/conf.d/20-calendar.ini, /etc/php/8.4/fpm/conf.d/20-ctype.ini, /etc/php/8.4/fpm/conf.d/20-curl.ini, /etc/php/8.4/fpm/conf.d/20-dom.ini, /etc/php/8.4/fpm/conf.d/20-exif.ini, /etc/php/8.4/fpm/conf.d/20-ffi.ini, /etc/php/8.4/fpm/conf.d/20-fileinfo.ini, /etc/php/8.4/fpm/conf.d/20-ftp.ini, /etc/php/8.4/fpm/conf.d/20-gd.ini, /etc/php/8.4/fpm/conf.d/20-gettext.ini, /etc/php/8.4/fpm/conf.d/20-iconv.ini, /etc/php/8.4/fpm/conf.d/20-igbinary.ini, /etc/php/8.4/fpm/conf.d/20-imagick.ini, /etc/php/8.4/fpm/conf.d/20-imap.ini, /etc/php/8.4/fpm/conf.d/20-intl.ini, /etc/php/8.4/fpm/conf.d/20-ldap.ini, /etc/php/8.4/fpm/conf.d/20-mbstring.ini, /etc/php/8.4/fpm/conf.d/20-msgpack.ini, /etc/php/8.4/fpm/conf.d/20-mysqli.ini, /etc/php/8.4/fpm/conf.d/20-pdo_mysql.ini, /etc/php/8.4/fpm/conf.d/20-phar.ini, /etc/php/8.4/fpm/conf.d/20-posix.ini, /etc/php/8.4/fpm/conf.d/20-pspell.ini, /etc/php/8.4/fpm/conf.d/20-readline.ini, /etc/php/8.4/fpm/conf.d/20-shmop.ini, /etc/php/8.4/fpm/conf.d/20-simplexml.ini, /etc/php/8.4/fpm/conf.d/20-soap.ini, /etc/php/8.4/fpm/conf.d/20-sockets.ini, /etc/php/8.4/fpm/conf.d/20-sysvmsg.ini, /etc/php/8.4/fpm/conf.d/20-sysvsem.ini, /etc/php/8.4/fpm/conf.d/20-sysvshm.ini, /etc/php/8.4/fpm/conf.d/20-tokenizer.ini, /etc/php/8.4/fpm/conf.d/20-xmlreader.ini, /etc/php/8.4/fpm/conf.d/20-xmlwriter.ini, /etc/php/8.4/fpm/conf.d/20-xsl.ini, /etc/php/8.4/fpm/conf.d/20-zip.ini, /etc/php/8.4/fpm/conf.d/25-memcached.ini, /etc/php/8.4/fpm/conf.d/25-redis.ini, /etc/php/8.4/fpm/conf.d/99-opcache-override.ini |
| PHP API | 20240924 |
| PHP Extension | 20240924 |
| Zend Extension | 420240924 |
| Zend Extension Build | API420240924,NTS |
| PHP Extension Build | API20240924,NTS |
| PHP Integer Size | 64 bits |
| Debug Build | no |
| Thread Safety | disabled |
| Zend Signal Handling | enabled |
| Zend Memory Manager | enabled |
| Zend Multibyte Support | provided by mbstring |
| Zend Max Execution Timers | disabled |
| IPv6 Support | enabled |
| DTrace Support | disabled |
| Registered PHP Streams | https, ftps, compress.zlib, php, file, glob, data, http, ftp, compress.bzip2, phar, zip |
| Registered Stream Socket Transports | tcp, udp, unix, udg, ssl, tls, tlsv1.0, tlsv1.1, tlsv1.2, tlsv1.3 |
| Registered Stream Filters | zlib.*, string.rot13, string.toupper, string.tolower, convert.*, consumed, dechunk, bzip2.*, convert.iconv.* |
|
Zend Engine v4.4.21, Copyright (c) Zend Technologies with Zend OPcache v8.4.21, Copyright (c), by Zend Technologies |
Configuration
bcmath
| BCMath support | enabled |
| Directive | Local Value | Master Value |
|---|---|---|
| bcmath.scale | 0 | 0 |
bz2
| BZip2 Support | Enabled |
| Stream Wrapper support | compress.bzip2:// |
| Stream Filter support | bzip2.decompress, bzip2.compress |
| BZip2 Version | 1.0.8, 13-Jul-2019 |
calendar
| Calendar support | enabled |
cgi-fcgi
| php-fpm | active |
| Directive | Local Value | Master Value |
|---|---|---|
| cgi.discard_path | Off | Off |
| cgi.fix_pathinfo | On | On |
| cgi.force_redirect | On | On |
| cgi.nph | Off | Off |
| cgi.redirect_status_env | no value | no value |
| cgi.rfc2616_headers | Off | Off |
| fastcgi.error_header | no value | no value |
| fastcgi.logging | On | On |
| fpm.config | no value | no value |
Core
| PHP Version | 8.4.21 |
| Directive | Local Value | Master Value |
|---|---|---|
| allow_url_fopen | On | On |
| allow_url_include | Off | Off |
| arg_separator.input | & | & |
| arg_separator.output | & | & |
| auto_append_file | no value | no value |
| auto_globals_jit | On | On |
| auto_prepend_file | no value | no value |
| browscap | no value | no value |
| default_charset | UTF-8 | UTF-8 |
| default_mimetype | text/html | text/html |
| disable_classes | no value | no value |
| disable_functions | show_source,highlight_file,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare | show_source,highlight_file,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare |
| display_errors | Off | Off |
| display_startup_errors | Off | Off |
| doc_root | no value | no value |
| docref_ext | no value | no value |
| docref_root | no value | no value |
| enable_dl | Off | Off |
| enable_post_data_reading | On | On |
| error_append_string | no value | no value |
| error_log | no value | no value |
| error_log_mode | 0644 | 0644 |
| error_prepend_string | no value | no value |
| error_reporting | 22527 | 22527 |
| expose_php | Off | Off |
| extension_dir | /usr/lib/php/20240924 | /usr/lib/php/20240924 |
| fiber.stack_size | no value | no value |
| file_uploads | On | On |
| hard_timeout | 2 | 2 |
| highlight.comment | #FF8000 | #FF8000 |
| highlight.default | #0000BB | #0000BB |
| highlight.html | #000000 | #000000 |
| highlight.keyword | #007700 | #007700 |
| highlight.string | #DD0000 | #DD0000 |
| html_errors | On | On |
| ignore_repeated_errors | Off | Off |
| ignore_repeated_source | Off | Off |
| ignore_user_abort | Off | Off |
| implicit_flush | Off | Off |
| include_path | .:/usr/share/php | .:/usr/share/php |
| input_encoding | no value | no value |
| internal_encoding | no value | no value |
| log_errors | On | On |
| mail.add_x_header | Off | Off |
| mail.force_extra_parameters | no value | no value |
| mail.log | no value | no value |
| mail.mixed_lf_and_crlf | Off | Off |
| max_execution_time | 300 | 300 |
| max_file_uploads | 20 | 20 |
| max_input_nesting_level | 64 | 64 |
| max_input_time | 300 | 300 |
| max_input_vars | 20000 | 20000 |
| max_multipart_body_parts | -1 | -1 |
| memory_limit | 512M | 512M |
| open_basedir | /home/devdoit/.composer:/home/devdoit/web/devdoit.pl/public_html:/home/devdoit/web/devdoit.pl/private:/home/devdoit/web/devdoit.pl/public_shtml:/home/devdoit/tmp:/tmp:/var/www/html:/bin:/usr/bin:/usr/local/bin:/usr/share:/opt | /home/devdoit/.composer:/home/devdoit/web/devdoit.pl/public_html:/home/devdoit/web/devdoit.pl/private:/home/devdoit/web/devdoit.pl/public_shtml:/home/devdoit/tmp:/tmp:/var/www/html:/bin:/usr/bin:/usr/local/bin:/usr/share:/opt |
| output_buffering | 4096 | 4096 |
| output_encoding | no value | no value |
| output_handler | no value | no value |
| post_max_size | 256M | 256M |
| precision | 14 | 14 |
| realpath_cache_size | 32M | 32M |
| realpath_cache_ttl | 1200 | 1200 |
| register_argc_argv | Off | Off |
| report_memleaks | On | On |
| report_zend_debug | Off | Off |
| request_order | GP | GP |
| sendmail_from | no value | no value |
| sendmail_path | /usr/sbin/sendmail -t -i -f admin@devdoit.pl | /usr/sbin/sendmail -t -i -f admin@devdoit.pl |
| serialize_precision | -1 | -1 |
| short_open_tag | On | On |
| SMTP | localhost | localhost |
| smtp_port | 25 | 25 |
| sys_temp_dir | no value | no value |
| syslog.facility | LOG_USER | LOG_USER |
| syslog.filter | no-ctrl | no-ctrl |
| syslog.ident | php | php |
| unserialize_callback_func | no value | no value |
| upload_max_filesize | 256M | 256M |
| upload_tmp_dir | /home/devdoit/tmp | /home/devdoit/tmp |
| user_dir | no value | no value |
| user_ini.cache_ttl | 300 | 300 |
| user_ini.filename | .user.ini | .user.ini |
| variables_order | GPCS | GPCS |
| xmlrpc_error_number | 0 | 0 |
| xmlrpc_errors | Off | Off |
| zend.assertions | -1 | -1 |
| zend.detect_unicode | On | On |
| zend.enable_gc | On | On |
| zend.exception_ignore_args | On | On |
| zend.exception_string_param_max_len | 0 | 0 |
| zend.max_allowed_stack_size | 0 | 0 |
| zend.multibyte | Off | Off |
| zend.reserved_stack_size | 0 | 0 |
| zend.script_encoding | no value | no value |
| zend.signal_check | Off | Off |
ctype
| ctype functions | enabled |
curl
| cURL support | enabled |
| cURL Information | 7.88.1 |
| Age | 10 |
| Features | |
| AsynchDNS | Yes |
| CharConv | No |
| Debug | No |
| GSS-Negotiate | No |
| IDN | Yes |
| IPv6 | Yes |
| krb4 | No |
| Largefile | Yes |
| libz | Yes |
| NTLM | Yes |
| NTLMWB | Yes |
| SPNEGO | Yes |
| SSL | Yes |
| SSPI | No |
| TLS-SRP | Yes |
| HTTP2 | Yes |
| GSSAPI | Yes |
| KERBEROS5 | Yes |
| UNIX_SOCKETS | Yes |
| PSL | Yes |
| HTTPS_PROXY | Yes |
| MULTI_SSL | No |
| BROTLI | Yes |
| ALTSVC | Yes |
| HTTP3 | No |
| UNICODE | No |
| ZSTD | Yes |
| HSTS | Yes |
| GSASL | No |
| Protocols | dict, file, ftp, ftps, gopher, gophers, http, https, imap, imaps, ldap, ldaps, mqtt, pop3, pop3s, rtmp, rtmpe, rtmps, rtmpt, rtmpte, rtmpts, rtsp, scp, sftp, smb, smbs, smtp, smtps, telnet, tftp |
| Host | x86_64-pc-linux-gnu |
| SSL Version | OpenSSL/3.0.20 |
| ZLib Version | 1.2.13 |
| libSSH Version | libssh2/1.10.0 |
| Directive | Local Value | Master Value |
|---|---|---|
| curl.cainfo | no value | no value |
date
| date/time support | enabled |
| timelib version | 2022.15 |
| "Olson" Timezone Database Version | 0.system |
| Timezone Database | internal |
| Default timezone | UTC |
| Directive | Local Value | Master Value |
|---|---|---|
| date.default_latitude | 31.7667 | 31.7667 |
| date.default_longitude | 35.2333 | 35.2333 |
| date.sunrise_zenith | 90.833333 | 90.833333 |
| date.sunset_zenith | 90.833333 | 90.833333 |
| date.timezone | UTC | UTC |
dom
| DOM/XML | enabled |
| DOM/XML API Version | 20031129 |
| libxml Version | 2.9.14 |
| HTML Support | enabled |
| XPath Support | enabled |
| XPointer Support | enabled |
| Schema Support | enabled |
| RelaxNG Support | enabled |
exif
| EXIF Support | enabled |
| Supported EXIF Version | 0220 |
| Supported filetypes | JPEG, TIFF |
| Multibyte decoding support using mbstring | enabled |
| Extended EXIF tag formats | Canon, Casio, Fujifilm, Nikon, Olympus, Samsung, Panasonic, DJI, Sony, Pentax, Minolta, Sigma, Foveon, Kyocera, Ricoh, AGFA, Epson |
| Directive | Local Value | Master Value |
|---|---|---|
| exif.decode_jis_intel | JIS | JIS |
| exif.decode_jis_motorola | JIS | JIS |
| exif.decode_unicode_intel | UCS-2LE | UCS-2LE |
| exif.decode_unicode_motorola | UCS-2BE | UCS-2BE |
| exif.encode_jis | no value | no value |
| exif.encode_unicode | ISO-8859-15 | ISO-8859-15 |
FFI
| FFI support | enabled |
| Directive | Local Value | Master Value |
|---|---|---|
| ffi.enable | preload | preload |
| ffi.preload | no value | no value |
fileinfo
| fileinfo support | enabled |
| libmagic | 545 |
filter
| Input Validation and Filtering | enabled |
| Directive | Local Value | Master Value |
|---|---|---|
| filter.default | unsafe_raw | unsafe_raw |
| filter.default_flags | no value | no value |
ftp
| FTP support | enabled |
| FTPS support | enabled |
gd
| GD Support | enabled |
| GD headers Version | 2.3.3 |
| GD library Version | 2.3.3 |
| FreeType Support | enabled |
| FreeType Linkage | with freetype |
| GIF Read Support | enabled |
| GIF Create Support | enabled |
| JPEG Support | enabled |
| PNG Support | enabled |
| WBMP Support | enabled |
| XPM Support | enabled |
| XBM Support | enabled |
| WebP Support | enabled |
| BMP Support | enabled |
| AVIF Support | enabled |
| TGA Read Support | enabled |
| Directive | Local Value | Master Value |
|---|---|---|
| gd.jpeg_ignore_warning | On | On |
gettext
| GetText Support | enabled |
hash
| hash support | enabled |
| Hashing Engines | md2 md4 md5 sha1 sha224 sha256 sha384 sha512/224 sha512/256 sha512 sha3-224 sha3-256 sha3-384 sha3-512 ripemd128 ripemd160 ripemd256 ripemd320 whirlpool tiger128,3 tiger160,3 tiger192,3 tiger128,4 tiger160,4 tiger192,4 snefru snefru256 gost gost-crypto adler32 crc32 crc32b crc32c fnv132 fnv1a32 fnv164 fnv1a64 joaat murmur3a murmur3c murmur3f xxh32 xxh64 xxh3 xxh128 haval128,3 haval160,3 haval192,3 haval224,3 haval256,3 haval128,4 haval160,4 haval192,4 haval224,4 haval256,4 haval128,5 haval160,5 haval192,5 haval224,5 haval256,5 |
| MHASH support | Enabled |
| MHASH API Version | Emulated Support |
iconv
| iconv support | enabled |
| iconv implementation | glibc |
| iconv library version | 2.36 |
| Directive | Local Value | Master Value |
|---|---|---|
| iconv.input_encoding | no value | no value |
| iconv.internal_encoding | no value | no value |
| iconv.output_encoding | no value | no value |
igbinary
| igbinary support | enabled |
| igbinary version | 3.2.16 |
| igbinary APCu serializer ABI | 0 |
| igbinary session support | yes |
| Directive | Local Value | Master Value |
|---|---|---|
| igbinary.compact_strings | On | On |
imagick
| imagick module | enabled |
|---|---|
| imagick module version | 3.8.1 |
| imagick classes | Imagick, ImagickDraw, ImagickPixel, ImagickPixelIterator, ImagickKernel |
| Imagick compiled with ImageMagick version | ImageMagick 6.9.11-60 Q16 x86_64 2021-01-25 https://imagemagick.org |
| Imagick using ImageMagick library version | ImageMagick 6.9.11-60 Q16 x86_64 2021-01-25 https://imagemagick.org |
| ImageMagick copyright | (C) 1999-2021 ImageMagick Studio LLC |
| ImageMagick release date | 2021-01-25 |
| ImageMagick number of supported formats: | 247 |
| ImageMagick supported formats | 3FR, 3G2, 3GP, AAI, AI, APNG, ART, ARW, AVI, AVIF, AVS, BGR, BGRA, BGRO, BIE, BMP, BMP2, BMP3, BRF, CAL, CALS, CANVAS, CAPTION, CIN, CIP, CLIP, CMYK, CMYKA, CR2, CR3, CRW, CUR, CUT, DATA, DCM, DCR, DCX, DDS, DFONT, DJVU, DNG, DOT, DPX, DXT1, DXT5, EPDF, EPI, EPS, EPS2, EPS3, EPSF, EPSI, EPT, EPT2, EPT3, ERF, EXR, FAX, FILE, FITS, FRACTAL, FTP, FTS, G3, G4, GIF, GIF87, GRADIENT, GRAY, GRAYA, GROUP4, GV, H, HALD, HDR, HEIC, HISTOGRAM, HRZ, HTM, HTML, HTTP, HTTPS, ICB, ICO, ICON, IIQ, INFO, INLINE, IPL, ISOBRL, ISOBRL6, J2C, J2K, JBG, JBIG, JNG, JNX, JP2, JPC, JPE, JPEG, JPG, JPM, JPS, JPT, JSON, K25, KDC, LABEL, M2V, M4V, MAC, MAGICK, MAP, MASK, MAT, MATTE, MEF, MIFF, MKV, MNG, MONO, MOV, MP4, MPC, MPG, MRW, MSL, MSVG, MTV, MVG, NEF, NRW, NULL, ORF, OTB, OTF, PAL, PALM, PAM, PANGO, PATTERN, PBM, PCD, PCDS, PCL, PCT, PCX, PDB, PDF, PDFA, PEF, PES, PFA, PFB, PFM, PGM, PGX, PICON, PICT, PIX, PJPEG, PLASMA, PNG, PNG00, PNG24, PNG32, PNG48, PNG64, PNG8, PNM, POCKETMOD, PPM, PREVIEW, PS, PS2, PS3, PSB, PSD, PTIF, PWP, RADIAL-GRADIENT, RAF, RAS, RAW, RGB, RGBA, RGBO, RGF, RLA, RLE, RMF, RW2, SCR, SCT, SFW, SGI, SHTML, SIX, SIXEL, SPARSE-COLOR, SR2, SRF, STEGANO, SUN, SVG, SVGZ, TEXT, TGA, THUMBNAIL, TIFF, TIFF64, TILE, TIM, TTC, TTF, TXT, UBRL, UBRL6, UIL, UYVY, VDA, VICAR, VID, VIDEO, VIFF, VIPS, VST, WBMP, WEBM, WEBP, WMF, WMV, WMZ, WPG, X, X3F, XBM, XC, XCF, XPM, XPS, XV, XWD, YCbCr, YCbCrA, YUV |
| Directive | Local Value | Master Value |
|---|---|---|
| imagick.allow_zero_dimension_images | 0 | 0 |
| imagick.locale_fix | 0 | 0 |
| imagick.progress_monitor | 0 | 0 |
| imagick.set_single_thread | 1 | 1 |
| imagick.shutdown_sleep_count | 10 | 10 |
| imagick.skip_version_check | 1 | 1 |
imap
| IMAP extension Version | 1.0.3 |
| IMAP c-Client Version | 2007f |
| SSL Support | enabled |
| Kerberos Support | enabled |
| Directive | Local Value | Master Value |
|---|---|---|
| imap.enable_insecure_rsh | Off | Off |
intl
| Internationalization support | enabled |
| ICU version | 72.1 |
| ICU Data version | 72.1 |
| ICU TZData version | 2022e |
| ICU Unicode version | 15.0 |
| Directive | Local Value | Master Value |
|---|---|---|
| intl.default_locale | no value | no value |
| intl.error_level | 0 | 0 |
| intl.use_exceptions | Off | Off |
json
| json support | enabled |
ldap
| LDAP Support | enabled |
| Total Links | 0/unlimited |
| API Version | 3001 |
| Vendor Name | OpenLDAP |
| Vendor Version | 20513 |
| SASL Support | Enabled |
| Directive | Local Value | Master Value |
|---|---|---|
| ldap.max_links | Unlimited | Unlimited |
libxml
| libXML support | active |
| libXML Compiled Version | 2.9.14 |
| libXML Loaded Version | 20914 |
| libXML streams | enabled |
mbstring
| Multibyte Support | enabled |
| Multibyte string engine | libmbfl |
| HTTP input encoding translation | disabled |
| libmbfl version | 1.3.2 |
| mbstring extension makes use of "streamable kanji code filter and converter", which is distributed under the GNU Lesser General Public License version 2.1. |
|---|
| Multibyte (japanese) regex support | enabled |
| Multibyte regex (oniguruma) version | 6.9.8 |
| Directive | Local Value | Master Value |
|---|---|---|
| mbstring.detect_order | no value | no value |
| mbstring.encoding_translation | Off | Off |
| mbstring.http_input | no value | no value |
| mbstring.http_output | no value | no value |
| mbstring.http_output_conv_mimetypes | ^(text/|application/xhtml\+xml) | ^(text/|application/xhtml\+xml) |
| mbstring.internal_encoding | no value | no value |
| mbstring.language | neutral | neutral |
| mbstring.regex_retry_limit | 1000000 | 1000000 |
| mbstring.regex_stack_limit | 100000 | 100000 |
| mbstring.strict_detection | Off | Off |
| mbstring.substitute_character | no value | no value |
memcached
| memcached support | enabled |
|---|---|
| Version | 3.4.0 |
| libmemcached-awesome version | 1.1.4 |
| SASL support | yes |
| Session support | yes |
| igbinary support | yes |
| json support | yes |
| msgpack support | yes |
| zstd support | no |
| Directive | Local Value | Master Value |
|---|---|---|
| memcached.compression_factor | 1.3 | 1.3 |
| memcached.compression_level | 3 | 3 |
| memcached.compression_threshold | 2000 | 2000 |
| memcached.compression_type | fastlz | fastlz |
| memcached.default_binary_protocol | Off | Off |
| memcached.default_connect_timeout | 0 | 0 |
| memcached.default_consistent_hash | Off | Off |
| memcached.item_size_limit | 0 | 0 |
| memcached.serializer | igbinary | igbinary |
| memcached.sess_binary_protocol | On | On |
| memcached.sess_connect_timeout | 0 | 0 |
| memcached.sess_consistent_hash | On | On |
| memcached.sess_consistent_hash_type | ketama | ketama |
| memcached.sess_lock_expire | 0 | 0 |
| memcached.sess_lock_max_wait | not set | not set |
| memcached.sess_lock_retries | 5 | 5 |
| memcached.sess_lock_wait | not set | not set |
| memcached.sess_lock_wait_max | 150 | 150 |
| memcached.sess_lock_wait_min | 150 | 150 |
| memcached.sess_locking | On | On |
| memcached.sess_number_of_replicas | 0 | 0 |
| memcached.sess_persistent | Off | Off |
| memcached.sess_prefix | memc.sess.key. | memc.sess.key. |
| memcached.sess_randomize_replica_read | Off | Off |
| memcached.sess_remove_failed_servers | Off | Off |
| memcached.sess_sasl_password | no value | no value |
| memcached.sess_sasl_username | no value | no value |
| memcached.sess_server_failure_limit | 0 | 0 |
| memcached.store_retry_count | 0 | 0 |
msgpack
| MessagePack Support | enabled |
| Session Support | enabled |
| MessagePack APCu Serializer ABI | no |
| extension Version | 3.0.0 |
| header Version | 3.2.0 |
| Directive | Local Value | Master Value |
|---|---|---|
| msgpack.assoc | On | On |
| msgpack.error_display | On | On |
| msgpack.illegal_key_insert | Off | Off |
| msgpack.php_only | On | On |
| msgpack.use_str8_serialization | On | On |
mysqli
| MysqlI Support | enabled |
| Client API library version | mysqlnd 8.4.21 |
| Active Persistent Links | 0 |
| Inactive Persistent Links | 0 |
| Active Links | 0 |
| Directive | Local Value | Master Value |
|---|---|---|
| mysqli.allow_local_infile | Off | Off |
| mysqli.allow_persistent | Off | Off |
| mysqli.default_host | no value | no value |
| mysqli.default_port | 3306 | 3306 |
| mysqli.default_pw | no value | no value |
| mysqli.default_socket | /var/run/mysqld/mysqld.sock | /var/run/mysqld/mysqld.sock |
| mysqli.default_user | no value | no value |
| mysqli.local_infile_directory | no value | no value |
| mysqli.max_links | 300 | 300 |
| mysqli.max_persistent | 300 | 300 |
| mysqli.rollback_on_cached_plink | Off | Off |
mysqlnd
| mysqlnd | enabled |
| Version | mysqlnd 8.4.21 |
| Compression | supported |
| core SSL | supported |
| extended SSL | supported |
| Command buffer size | 4096 |
| Read buffer size | 131072 |
| Read timeout | 300 |
| Collecting statistics | No |
| Collecting memory statistics | No |
| Tracing | n/a |
| Loaded plugins | mysqlnd,debug_trace,auth_plugin_mysql_native_password,auth_plugin_mysql_clear_password,auth_plugin_caching_sha2_password,auth_plugin_sha256_password |
| API Extensions | mysqli,pdo_mysql |
openssl
| OpenSSL support | enabled |
| OpenSSL Library Version | OpenSSL 3.0.20 7 Apr 2026 |
| OpenSSL Header Version | OpenSSL 3.0.18 30 Sep 2025 |
| Openssl default config | /usr/lib/ssl/openssl.cnf |
| Directive | Local Value | Master Value |
|---|---|---|
| openssl.cafile | no value | no value |
| openssl.capath | no value | no value |
pcre
| PCRE (Perl Compatible Regular Expressions) Support | enabled |
| PCRE Library Version | 10.42 2022-12-11 |
| PCRE Unicode Version | 14.0.0 |
| PCRE JIT Support | enabled |
| PCRE JIT Target | x86 64bit (little endian + unaligned) |
| Directive | Local Value | Master Value |
|---|---|---|
| pcre.backtrack_limit | 300000 | 300000 |
| pcre.jit | On | On |
| pcre.recursion_limit | 300000 | 300000 |
PDO
| PDO support | enabled |
| PDO drivers | mysql |
pdo_mysql
| PDO Driver for MySQL | enabled |
| Client API version | mysqlnd 8.4.21 |
| Directive | Local Value | Master Value |
|---|---|---|
| pdo_mysql.default_socket | /var/run/mysqld/mysqld.sock | /var/run/mysqld/mysqld.sock |
Phar
| Phar: PHP Archive support | enabled |
| Phar API version | 1.1.1 |
| Phar-based phar archives | enabled |
| Tar-based phar archives | enabled |
| ZIP-based phar archives | enabled |
| gzip compression | enabled |
| bzip2 compression | enabled |
| Native OpenSSL support | enabled |
|
Phar based on pear/PHP_Archive, original concept by Davey Shafik. Phar fully realized by Gregory Beaver and Marcus Boerger. Portions of tar implementation Copyright (c) 2003-2009 Tim Kientzle. |
| Directive | Local Value | Master Value |
|---|---|---|
| phar.cache_list | no value | no value |
| phar.readonly | On | On |
| phar.require_hash | On | On |
posix
| POSIX support | enabled |
pspell
| PSpell Support | enabled |
| PSpell extension version | 1.0.1 |
random
| Version | 8.4.21 |
readline
| Readline Support | enabled |
| Readline library | EditLine wrapper |
| Directive | Local Value | Master Value |
|---|---|---|
| cli.pager | no value | no value |
| cli.prompt | \b \> | \b \> |
redis
| Redis Support | enabled |
|---|---|
| Redis Version | 6.3.0 |
| Redis Sentinel Version | 1.0 |
| Available serializers | php, json, igbinary |
| Available compression | lzf, zstd, lz4 |
| Directive | Local Value | Master Value |
|---|---|---|
| redis.arrays.algorithm | no value | no value |
| redis.arrays.auth | no value | no value |
| redis.arrays.autorehash | 0 | 0 |
| redis.arrays.connecttimeout | 0 | 0 |
| redis.arrays.consistent | 0 | 0 |
| redis.arrays.distributor | no value | no value |
| redis.arrays.functions | no value | no value |
| redis.arrays.hosts | no value | no value |
| redis.arrays.index | 0 | 0 |
| redis.arrays.lazyconnect | 0 | 0 |
| redis.arrays.names | no value | no value |
| redis.arrays.pconnect | 0 | 0 |
| redis.arrays.previous | no value | no value |
| redis.arrays.readtimeout | 0 | 0 |
| redis.arrays.retryinterval | 0 | 0 |
| redis.clusters.auth | no value | no value |
| redis.clusters.cache_slots | 0 | 0 |
| redis.clusters.persistent | 0 | 0 |
| redis.clusters.read_timeout | 0 | 0 |
| redis.clusters.seeds | no value | no value |
| redis.clusters.timeout | 0 | 0 |
| redis.pconnect.connection_limit | 0 | 0 |
| redis.pconnect.echo_check_liveness | 1 | 1 |
| redis.pconnect.pool_detect_dirty | 0 | 0 |
| redis.pconnect.pool_pattern | no value | no value |
| redis.pconnect.pool_poll_timeout | 0 | 0 |
| redis.pconnect.pooling_enabled | 1 | 1 |
| redis.session.compression | none | none |
| redis.session.compression_level | 3 | 3 |
| redis.session.early_refresh | 0 | 0 |
| redis.session.lock_expire | 0 | 0 |
| redis.session.lock_failure_readonly | 0 | 0 |
| redis.session.lock_retries | 100 | 100 |
| redis.session.lock_wait_time | 20000 | 20000 |
| redis.session.locking_enabled | 0 | 0 |
Reflection
| Reflection | enabled |
session
| Session Support | enabled |
| Registered save handlers | files user memcached redis rediscluster |
| Registered serializer handlers | php_serialize php php_binary igbinary msgpack |
| Directive | Local Value | Master Value |
|---|---|---|
| session.auto_start | Off | Off |
| session.cache_expire | 180 | 180 |
| session.cache_limiter | nocache | nocache |
| session.cookie_domain | no value | no value |
| session.cookie_httponly | Off | Off |
| session.cookie_lifetime | 0 | 0 |
| session.cookie_path | / | / |
| session.cookie_samesite | no value | no value |
| session.cookie_secure | Off | Off |
| session.gc_divisor | 1000 | 1000 |
| session.gc_maxlifetime | 7200 | 7200 |
| session.gc_probability | 0 | 0 |
| session.lazy_write | On | On |
| session.name | PHPSESSID | PHPSESSID |
| session.referer_check | no value | no value |
| session.save_handler | files | files |
| session.save_path | /home/devdoit/tmp | /home/devdoit/tmp |
| session.serialize_handler | php | php |
| session.sid_bits_per_character | 5 | 5 |
| session.sid_length | 26 | 26 |
| session.upload_progress.cleanup | On | On |
| session.upload_progress.enabled | On | On |
| session.upload_progress.freq | 1% | 1% |
| session.upload_progress.min_freq | 1 | 1 |
| session.upload_progress.name | PHP_SESSION_UPLOAD_PROGRESS | PHP_SESSION_UPLOAD_PROGRESS |
| session.upload_progress.prefix | upload_progress_ | upload_progress_ |
| session.use_cookies | On | On |
| session.use_only_cookies | On | On |
| session.use_strict_mode | Off | Off |
| session.use_trans_sid | Off | Off |
shmop
| shmop support | enabled |
SimpleXML
| SimpleXML support | enabled |
| Schema support | enabled |
soap
| Soap Client | enabled |
| Soap Server | enabled |
| Directive | Local Value | Master Value |
|---|---|---|
| soap.wsdl_cache | 1 | 1 |
| soap.wsdl_cache_dir | /tmp | /tmp |
| soap.wsdl_cache_enabled | On | On |
| soap.wsdl_cache_limit | 5 | 5 |
| soap.wsdl_cache_ttl | 86400 | 86400 |
sockets
| Sockets Support | enabled |
sodium
| sodium support | enabled |
| libsodium headers version | 1.0.18 |
| libsodium library version | 1.0.18 |
SPL
| SPL support | enabled |
| Interfaces | OuterIterator, RecursiveIterator, SeekableIterator, SplObserver, SplSubject |
| Classes | AppendIterator, ArrayIterator, ArrayObject, BadFunctionCallException, BadMethodCallException, CachingIterator, CallbackFilterIterator, DirectoryIterator, DomainException, EmptyIterator, FilesystemIterator, FilterIterator, GlobIterator, InfiniteIterator, InvalidArgumentException, IteratorIterator, LengthException, LimitIterator, LogicException, MultipleIterator, NoRewindIterator, OutOfBoundsException, OutOfRangeException, OverflowException, ParentIterator, RangeException, RecursiveArrayIterator, RecursiveCachingIterator, RecursiveCallbackFilterIterator, RecursiveDirectoryIterator, RecursiveFilterIterator, RecursiveIteratorIterator, RecursiveRegexIterator, RecursiveTreeIterator, RegexIterator, RuntimeException, SplDoublyLinkedList, SplFileInfo, SplFileObject, SplFixedArray, SplHeap, SplMinHeap, SplMaxHeap, SplObjectStorage, SplPriorityQueue, SplQueue, SplStack, SplTempFileObject, UnderflowException, UnexpectedValueException |
standard
| Dynamic Library Support | enabled |
| Path to sendmail | /usr/sbin/sendmail -t -i -f admin@devdoit.pl |
| Directive | Local Value | Master Value |
|---|---|---|
| assert.active | On | On |
| assert.bail | Off | Off |
| assert.callback | no value | no value |
| assert.exception | On | On |
| assert.warning | On | On |
| auto_detect_line_endings | Off | Off |
| default_socket_timeout | 30 | 30 |
| from | no value | no value |
| session.trans_sid_hosts | no value | no value |
| session.trans_sid_tags | a=href,area=href,frame=src,form= | a=href,area=href,frame=src,form= |
| unserialize_max_depth | 4096 | 4096 |
| url_rewriter.hosts | no value | no value |
| url_rewriter.tags | form= | form= |
| user_agent | no value | no value |
sysvmsg
| sysvmsg support | enabled |
sysvsem
| sysvsem support | enabled |
sysvshm
| sysvshm support | enabled |
tokenizer
| Tokenizer Support | enabled |
xml
| XML Support | active |
| XML Namespace Support | active |
| libxml2 Version | 2.9.14 |
xmlreader
| XMLReader | enabled |
xmlwriter
| XMLWriter | enabled |
xsl
| XSL | enabled |
| libxslt Version | 1.1.35 |
| libxslt compiled against libxml Version | 2.9.14 |
| EXSLT | enabled |
| libexslt Version | 0.8.20 |
Zend OPcache
| Opcode Caching | Up and Running |
| Optimization | Enabled |
| SHM Cache | Enabled |
| File Cache | Disabled |
| JIT | Off |
| Startup | OK |
| Shared memory model | mmap |
| Cache hits | 586561594 |
| Cache misses | 90139 |
| Used memory | 1398967920 |
| Free memory | 748029528 |
| Wasted memory | 486200 |
| Interned Strings Used memory | 116327840 |
| Interned Strings Free memory | 34667104 |
| Cached scripts | 44093 |
| Cached keys | 56620 |
| Max keys | 524521 |
| OOM restarts | 0 |
| Hash keys restarts | 0 |
| Manual restarts | 0 |
| Start time | 2026-05-30T01:00:23+0000 |
| Last restart time | none |
| Last force restart time | none |
| Directive | Local Value | Master Value |
|---|---|---|
| opcache.blacklist_filename | no value | no value |
| opcache.dups_fix | Off | Off |
| opcache.enable | On | On |
| opcache.enable_cli | On | On |
| opcache.enable_file_override | On | On |
| opcache.error_log | no value | no value |
| opcache.file_cache | no value | no value |
| opcache.file_cache_consistency_checks | On | On |
| opcache.file_cache_only | Off | Off |
| opcache.file_update_protection | 2 | 2 |
| opcache.force_restart_timeout | 180 | 180 |
| opcache.huge_code_pages | On | On |
| opcache.interned_strings_buffer | 144 | 144 |
| opcache.jit | no value | no value |
| opcache.jit_bisect_limit | 0 | 0 |
| opcache.jit_blacklist_root_trace | 16 | 16 |
| opcache.jit_blacklist_side_trace | 8 | 8 |
| opcache.jit_buffer_size | 64M | 64M |
| opcache.jit_debug | 0 | 0 |
| opcache.jit_hot_func | 127 | 127 |
| opcache.jit_hot_loop | 64 | 64 |
| opcache.jit_hot_return | 8 | 8 |
| opcache.jit_hot_side_exit | 8 | 8 |
| opcache.jit_max_exit_counters | 8192 | 8192 |
| opcache.jit_max_loop_unrolls | 8 | 8 |
| opcache.jit_max_polymorphic_calls | 2 | 2 |
| opcache.jit_max_recursive_calls | 2 | 2 |
| opcache.jit_max_recursive_returns | 2 | 2 |
| opcache.jit_max_root_traces | 1024 | 1024 |
| opcache.jit_max_side_traces | 128 | 128 |
| opcache.jit_max_trace_length | 1024 | 1024 |
| opcache.jit_prof_threshold | 0.005 | 0.005 |
| opcache.lockfile_path | /tmp | /tmp |
| opcache.log_verbosity_level | 1 | 1 |
| opcache.max_accelerated_files | 300000 | 300000 |
| opcache.max_file_size | 0 | 0 |
| opcache.max_wasted_percentage | 10 | 10 |
| opcache.memory_consumption | 2048 | 2048 |
| opcache.opt_debug_level | 0 | 0 |
| opcache.optimization_level | 0x7FFEBFFF | 0x7FFEBFFF |
| opcache.preferred_memory_model | no value | no value |
| opcache.preload | no value | no value |
| opcache.preload_user | no value | no value |
| opcache.protect_memory | Off | Off |
| opcache.record_warnings | Off | Off |
| opcache.restrict_api | no value | no value |
| opcache.revalidate_freq | 15 | 15 |
| opcache.revalidate_path | Off | Off |
| opcache.save_comments | On | On |
| opcache.use_cwd | On | On |
| opcache.validate_permission | Off | Off |
| opcache.validate_root | Off | Off |
| opcache.validate_timestamps | On | On |
zip
| Zip | enabled |
| Zip version | 1.22.8 |
| Libzip version | 1.7.3 |
| BZIP2 compression | Yes |
| XZ compression | No |
| ZSTD compression | No |
| AES-128 encryption | Yes |
| AES-192 encryption | Yes |
| AES-256 encryption | Yes |
zlib
| ZLib Support | enabled |
| Stream Wrapper | compress.zlib:// |
| Stream Filter | zlib.inflate, zlib.deflate |
| Compiled Version | 1.2.13 |
| Linked Version | 1.2.13 |
| Directive | Local Value | Master Value |
|---|---|---|
| zlib.output_compression | Off | Off |
| zlib.output_compression_level | -1 | -1 |
| zlib.output_handler | no value | no value |
Additional Modules
| Module Name |
|---|
Environment
| Variable | Value |
|---|---|
| TEMP | /home/devdoit/tmp |
| TMPDIR | /home/devdoit/tmp |
| TMP | /home/devdoit/tmp |
| PATH | /usr/local/bin:/usr/bin:/bin |
| USER | devdoit |
| HOME | /home/devdoit |
PHP Variables
| Variable | Value |
|---|---|
| $_SERVER['TEMP'] | /home/devdoit/tmp |
| $_SERVER['TMPDIR'] | /home/devdoit/tmp |
| $_SERVER['TMP'] | /home/devdoit/tmp |
| $_SERVER['PATH'] | /usr/local/bin:/usr/bin:/bin |
| $_SERVER['USER'] | devdoit |
| $_SERVER['HOME'] | /home/devdoit |
| $_SERVER['HTTP_X_FORWARDED_FOR'] | 2a03:2880:f806:46:: |
| $_SERVER['HTTP_X_FORWARDED_PROTO'] | https |
| $_SERVER['HTTP_CF_VISITOR'] | {"scheme":"https"} |
| $_SERVER['HTTP_CF_CONNECTING_IP'] | 2a03:2880:f806:46:: |
| $_SERVER['HTTP_CF_PSEUDO_IPV4'] | 248.219.97.245 |
| $_SERVER['HTTP_CDN_LOOP'] | cloudflare; loops=1 |
| $_SERVER['HTTP_USER_AGENT'] | meta-externalagent/1.1 (+https://developers.facebook.com/docs/sharing/webmasters/crawler) |
| $_SERVER['HTTP_CF_RAY'] | a03d283e7b616333-WAW |
| $_SERVER['HTTP_ACCEPT'] | */* |
| $_SERVER['HTTP_ACCEPT_ENCODING'] | gzip, br |
| $_SERVER['SCRIPT_FILENAME'] | /home/devdoit/web/devdoit.pl/public_html/blog/posty/2025/jak-naprawic-problem-automatycznym-skalowaniem-obrazow.php |
| $_SERVER['REDIRECT_STATUS'] | 200 |
| $_SERVER['HTTP_HOST'] | devdoit.pl |
| $_SERVER['SERVER_NAME'] | devdoit.pl |
| $_SERVER['SERVER_PORT'] | 443 |
| $_SERVER['SERVER_ADDR'] | 185.157.81.106 |
| $_SERVER['REMOTE_PORT'] | no value |
| $_SERVER['REMOTE_ADDR'] | 2a03:2880:f806:46:: |
| $_SERVER['SERVER_SOFTWARE'] | nginx/1.31.1 |
| $_SERVER['GATEWAY_INTERFACE'] | CGI/1.1 |
| $_SERVER['HTTPS'] | on |
| $_SERVER['REQUEST_SCHEME'] | https |
| $_SERVER['SERVER_PROTOCOL'] | HTTP/2.0 |
| $_SERVER['DOCUMENT_ROOT'] | /home/devdoit/web/devdoit.pl/public_html |
| $_SERVER['DOCUMENT_URI'] | /blog/posty/2025/jak-naprawic-problem-automatycznym-skalowaniem-obrazow.php |
| $_SERVER['REQUEST_URI'] | /blog/posty/2025/jak-naprawic-problem-automatycznym-skalowaniem-obrazow.php |
| $_SERVER['SCRIPT_NAME'] | /blog/posty/2025/jak-naprawic-problem-automatycznym-skalowaniem-obrazow.php |
| $_SERVER['CONTENT_LENGTH'] | no value |
| $_SERVER['CONTENT_TYPE'] | no value |
| $_SERVER['REQUEST_METHOD'] | GET |
| $_SERVER['QUERY_STRING'] | no value |
| $_SERVER['FCGI_ROLE'] | RESPONDER |
| $_SERVER['PHP_SELF'] | /blog/posty/2025/jak-naprawic-problem-automatycznym-skalowaniem-obrazow.php |
| $_SERVER['REQUEST_TIME_FLOAT'] | 1780138009.4484 |
| $_SERVER['REQUEST_TIME'] | 1780138009 |
PHP Credits
| PHP Group |
|---|
| Thies C. Arntzen, Stig Bakken, Shane Caraveo, Andi Gutmans, Rasmus Lerdorf, Sam Ruby, Sascha Schumann, Zeev Suraski, Jim Winstead, Andrei Zmievski |
| Language Design & Concept |
|---|
| Andi Gutmans, Rasmus Lerdorf, Zeev Suraski, Marcus Boerger |
| PHP Authors | |
|---|---|
| Contribution | Authors |
| Zend Scripting Language Engine | Andi Gutmans, Zeev Suraski, Stanislav Malyshev, Marcus Boerger, Dmitry Stogov, Xinchen Hui, Nikita Popov |
| Extension Module API | Andi Gutmans, Zeev Suraski, Andrei Zmievski |
| UNIX Build and Modularization | Stig Bakken, Sascha Schumann, Jani Taskinen, Peter Kokot |
| Windows Support | Shane Caraveo, Zeev Suraski, Wez Furlong, Pierre-Alain Joye, Anatol Belski, Kalle Sommer Nielsen |
| Server API (SAPI) Abstraction Layer | Andi Gutmans, Shane Caraveo, Zeev Suraski |
| Streams Abstraction Layer | Wez Furlong, Sara Golemon |
| PHP Data Objects Layer | Wez Furlong, Marcus Boerger, Sterling Hughes, George Schlossnagle, Ilia Alshanetsky |
| Output Handler | Zeev Suraski, Thies C. Arntzen, Marcus Boerger, Michael Wallner |
| Consistent 64 bit support | Anthony Ferrara, Anatol Belski |
| SAPI Modules | |
|---|---|
| Contribution | Authors |
| Apache 2 Handler | Ian Holsman, Justin Erenkrantz (based on Apache 2 Filter code) |
| CGI / FastCGI | Rasmus Lerdorf, Stig Bakken, Shane Caraveo, Dmitry Stogov |
| CLI | Edin Kadribasic, Marcus Boerger, Johannes Schlueter, Moriyoshi Koizumi, Xinchen Hui |
| Embed | Edin Kadribasic |
| FastCGI Process Manager | Andrei Nigmatulin, dreamcat4, Antony Dovgal, Jerome Loyet |
| litespeed | George Wang |
| phpdbg | Felipe Pena, Joe Watkins, Bob Weinand |
| Module Authors | |
|---|---|
| Module | Authors |
| BC Math | Andi Gutmans |
| Bzip2 | Sterling Hughes |
| Calendar | Shane Caraveo, Colin Viebrock, Hartmut Holzgraefe, Wez Furlong |
| COM and .Net | Wez Furlong |
| ctype | Hartmut Holzgraefe |
| cURL | Sterling Hughes |
| Date/Time Support | Derick Rethans |
| DB-LIB (MS SQL, Sybase) | Wez Furlong, Frank M. Kromann, Adam Baratz |
| DBA | Sascha Schumann, Marcus Boerger |
| DOM | Christian Stocker, Rob Richards, Marcus Boerger, Niels Dossche |
| enchant | Pierre-Alain Joye, Ilia Alshanetsky |
| EXIF | Rasmus Lerdorf, Marcus Boerger |
| FFI | Dmitry Stogov |
| fileinfo | Ilia Alshanetsky, Pierre Alain Joye, Scott MacVicar, Derick Rethans, Anatol Belski |
| Firebird driver for PDO | Ard Biesheuvel |
| FTP | Stefan Esser, Andrew Skalski |
| GD imaging | Rasmus Lerdorf, Stig Bakken, Jim Winstead, Jouni Ahto, Ilia Alshanetsky, Pierre-Alain Joye, Marcus Boerger, Mark Randall |
| GetText | Alex Plotnick |
| GNU GMP support | Stanislav Malyshev |
| Iconv | Rui Hirokawa, Stig Bakken, Moriyoshi Koizumi |
| Input Filter | Rasmus Lerdorf, Derick Rethans, Pierre-Alain Joye, Ilia Alshanetsky |
| Internationalization | Ed Batutis, Vladimir Iordanov, Dmitry Lakhtyuk, Stanislav Malyshev, Vadim Savchuk, Kirti Velankar |
| JSON | Jakub Zelenka, Omar Kilani, Scott MacVicar |
| LDAP | Amitay Isaacs, Eric Warnke, Rasmus Lerdorf, Gerrit Thomson, Stig Venaas |
| LIBXML | Christian Stocker, Rob Richards, Marcus Boerger, Wez Furlong, Shane Caraveo |
| Multibyte String Functions | Tsukada Takuya, Rui Hirokawa |
| MySQL driver for PDO | George Schlossnagle, Wez Furlong, Ilia Alshanetsky, Johannes Schlueter |
| MySQLi | Zak Greant, Georg Richter, Andrey Hristov, Ulf Wendel |
| MySQLnd | Andrey Hristov, Ulf Wendel, Georg Richter, Johannes Schlüter |
| ODBC driver for PDO | Wez Furlong |
| ODBC | Stig Bakken, Andreas Karajannis, Frank M. Kromann, Daniel R. Kalowsky |
| Opcache | Andi Gutmans, Zeev Suraski, Stanislav Malyshev, Dmitry Stogov, Xinchen Hui |
| OpenSSL | Stig Venaas, Wez Furlong, Sascha Kettler, Scott MacVicar, Eliot Lear |
| pcntl | Jason Greene, Arnaud Le Blanc |
| Perl Compatible Regexps | Andrei Zmievski |
| PHP Archive | Gregory Beaver, Marcus Boerger |
| PHP Data Objects | Wez Furlong, Marcus Boerger, Sterling Hughes, George Schlossnagle, Ilia Alshanetsky |
| PHP hash | Sara Golemon, Rasmus Lerdorf, Stefan Esser, Michael Wallner, Scott MacVicar |
| Posix | Kristian Koehntopp |
| PostgreSQL driver for PDO | Edin Kadribasic, Ilia Alshanetsky |
| PostgreSQL | Jouni Ahto, Zeev Suraski, Yasuo Ohgaki, Chris Kings-Lynne |
| random | Go Kudo, Tim Düsterhus, Guilliam Xavier, Christoph M. Becker, Jakub Zelenka, Bob Weinand, Máté Kocsis, and Original RNG implementators |
| Readline | Thies C. Arntzen |
| Reflection | Marcus Boerger, Timm Friebe, George Schlossnagle, Andrei Zmievski, Johannes Schlueter |
| Sessions | Sascha Schumann, Andrei Zmievski |
| Shared Memory Operations | Slava Poliakov, Ilia Alshanetsky |
| SimpleXML | Sterling Hughes, Marcus Boerger, Rob Richards |
| SNMP | Rasmus Lerdorf, Harrie Hazewinkel, Mike Jackson, Steven Lawrance, Johann Hanne, Boris Lytochkin |
| SOAP | Brad Lafountain, Shane Caraveo, Dmitry Stogov |
| Sockets | Chris Vandomelen, Sterling Hughes, Daniel Beulshausen, Jason Greene |
| Sodium | Frank Denis |
| SPL | Marcus Boerger, Etienne Kneuss |
| SQLite 3.x driver for PDO | Wez Furlong |
| SQLite3 | Scott MacVicar, Ilia Alshanetsky, Brad Dewar |
| System V Message based IPC | Wez Furlong |
| System V Semaphores | Tom May |
| System V Shared Memory | Christian Cartus |
| tidy | John Coggeshall, Ilia Alshanetsky |
| tokenizer | Andrei Zmievski, Johannes Schlueter |
| XML | Stig Bakken, Thies C. Arntzen, Sterling Hughes |
| XMLReader | Rob Richards |
| XMLWriter | Rob Richards, Pierre-Alain Joye |
| XSL | Christian Stocker, Rob Richards |
| Zip | Pierre-Alain Joye, Remi Collet |
| Zlib | Rasmus Lerdorf, Stefan Roehrich, Zeev Suraski, Jade Nicoletti, Michael Wallner |
| PHP Documentation | |
|---|---|
| Authors | Mehdi Achour, Friedhelm Betz, Antony Dovgal, Nuno Lopes, Hannes Magnusson, Philip Olson, Georg Richter, Damien Seguy, Jakub Vrana, Adam Harvey |
| Editor | Peter Cowburn |
| User Note Maintainers | Daniel P. Brown, Thiago Henrique Pojda |
| Other Contributors | Previously active authors, editors and other contributors are listed in the manual. |
| PHP Quality Assurance Team |
|---|
| Ilia Alshanetsky, Joerg Behrens, Antony Dovgal, Stefan Esser, Moriyoshi Koizumi, Magnus Maatta, Sebastian Nohn, Derick Rethans, Melvyn Sopacua, Pierre-Alain Joye, Dmitry Stogov, Felipe Pena, David Soria Parra, Stanislav Malyshev, Julien Pauli, Stephen Zarkos, Anatol Belski, Remi Collet, Ferenc Kovacs |
| Websites and Infrastructure team | |
|---|---|
| PHP Websites Team | Rasmus Lerdorf, Hannes Magnusson, Philip Olson, Lukas Kahwe Smith, Pierre-Alain Joye, Kalle Sommer Nielsen, Peter Cowburn, Adam Harvey, Ferenc Kovacs, Levi Morrison |
| Event Maintainers | Damien Seguy, Daniel P. Brown |
| Network Infrastructure | Daniel P. Brown |
| Windows Infrastructure | Alex Schoenmaker |
| Debian Packaging |
|---|
| DEB.SURY.ORG, an Ondřej Surý project |
PHP License
|
This program is free software; you can redistribute it and/or modify it under the terms of the PHP License as published by the PHP Group and included in the distribution in the file: LICENSE This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. If you did not receive a copy of the PHP license, or have any questions about PHP licensing, please contact license@php.net. |
- Prześlij plik na serwer i otwórz go w przeglądarce
- Szukaj sekcji "gd" – jeśli istnieje, biblioteka GD jest zainstalowana
- Po sprawdzeniu usuń plik ze względów bezpieczeństwa
Instalacja biblioteki GD
Jeśli biblioteka GD nie jest zainstalowana:
Dla hostingu współdzielonego:
- Skontaktuj się z dostawcą hostingu
- Poproś o zainstalowanie biblioteki GD dla PHP
- Większość dostawców zrobi to bezpłatnie
Dla serwera VPS/dedykowanego:
- Ubuntu/Debian: sudo apt-get install php-gd
- CentOS/RHEL: sudo yum install php-gd
- Uruchom ponownie serwer Apache lub PHP-FPM
Naprawa uprawnień folderu uploads
Nieprawidłowe uprawnienia folderu uploads to częsta przyczyna problemów ze skalowaniem obrazów.
Sprawdzanie aktualnych uprawnień
- Połącz się z serwerem przez FTP lub SSH
- Przejdź do folderu wp-content/uploads
- Sprawdź uprawnienia folderu i plików
Prawidłowe uprawnienia dla WordPress
- Folder: 755 (rwx r-x r-x)
- Pliki: 644 (rw- r-- r--)
Zmiana uprawnień przez FTP
- Zaloguj się do klienta FTP
- Kliknij prawym przyciskiem na folder uploads
- Wybierz "Uprawnienia pliku" lub "File permissions"
- Wprowadź wartość 755 dla folderów
- Zaznacz "Zastosuj do podkatalogów i plików"
- Dla plików ustaw wartość 644
Zmiana uprawnień przez SSH
Jeśli masz dostęp do SSH, użyj następujących poleceń:
find /path/to/wp-content/uploads -type d -exec chmod 755 {} \;
find /path/to/wp-content/uploads -type f -exec chmod 644 {} \;
Właściciel plików
Upewnij się, że pliki należą do właściwego użytkownika serwera WWW:
chown -R www-data:www-data /path/to/wp-content/uploads
Zwiększenie limitu pamięci PHP
Przetwarzanie obrazów, zwłaszcza dużych plików, wymaga odpowiedniej ilości pamięci PHP.
Sprawdzenie aktualnego limitu pamięci
- Przejdź do panelu WordPress
- Narzędzia → Stan zdrowia witryny → Informacje → Serwer
- Szukaj wartości "memory_limit"
Metody zwiększenia limitu pamięci
Metoda 1: Plik wp-config.php
Dodaj na końcu pliku wp-config.php:
define('WP_MEMORY_LIMIT', '256M');
Metoda 2: Plik .htaccess
Dodaj na początku pliku .htaccess:
php_value memory_limit 256M
Metoda 3: Plik php.ini
Jeśli masz dostęp, zmień w pliku php.ini:
memory_limit = 256M
Rekomendowane wartości
- Strona podstawowa: 128M - 256M
- Strona z wieloma obrazami: 256M - 512M
- Sklep z produktami: 512M - 1GB
Konflikty z wtyczkami do obróbki obrazów
Niektóre wtyczki do obróbki obrazów mogą konfliktować z natywnym systemem skalowania WordPress.
Identyfikacja problematycznych wtyczek
- Zaloguj się do panelu administracyjnego WordPress
- Przejdź do Wtyczki → Zainstalowane wtyczki
- Wyłącz wszystkie wtyczki związane z obrazami
- Spróbuj wgrać nowy obraz i sprawdź, czy problem ustąpił
- Włączaj wtyczki pojedynczo, testując po każdej aktywacji
Najczęstsze wtyczki powodujące problemy
- Smush – optymalizacja obrazów
- ShortPixel – kompresja obrazów
- Imagify – optymalizacja i konwersja formatu
- EWWW Image Optimizer – optymalizacja obrazów
Alternatywne rozwiązania
Jeśli wtyczka powoduje problemy:
- Zaktualizuj wtyczkę do najnowszej wersji
- Sprawdź ustawienia wtyczki – wyłącz funkcje konfliktujące ze skalowaniem
- Zastąp wtyczkę alternatywnym rozwiązaniem
Konfiguracja wymiarów obrazów w WordPress
Nieprawidłowa konfiguracja wymiarów obrazów może również powodować problemy ze skalowaniem.
Sprawdzenie ustawień wymiarów
- Zaloguj się do panelu administracyjnego WordPress
- Przejdź do Ustawienia → Multimedia
- Sprawdź ustawienia wymiarów obrazów
Optymalne ustawienia wymiarów
Rozmiar miniaturki:
Szerokość: 150px, Wysokość: 150px
Rozmiar średni:
Szerokość: 300px, Wysokość: 300px
Rozmiar duży:
Szerokość: 1024px, Wysokość: 1024px
Wybór metody przycinania
- Przycinaj do dokładnych wymiarów: Zawsze tworzy obrazy o podanych wymiarach, ale może przyciąć ważne części
- Przycinaj proporcjonalnie: Zachowuje proporcje, ale wymiary mogą się różnić
Dodatkowe rozmiary obrazów
Wiele motywów dodaje własne rozmiary obrazów. Możesz je sprawdzić dodając do functions.php:
add_action('init', 'show_image_sizes'); function show_image_sizes() { global $_wp_additional_image_sizes; print_r($_wp_additional_image_sizes); }
Regeneracja miniaturek po naprawie
Po naprawie problemów ze skalowaniem, często trzeba zregenerować wszystkie istniejące obrazy.
Metoda 1: Wtyczka Regenerate Thumbnails
- Zainstaluj wtyczkę Regenerate Thumbnails
- Przejdź do Narzędzia → Regenerate Thumbnails
- Wybierz Regenerate all thumbnails
- Poczekaj na zakończenie procesu
Metoda 2: Wtyczka Force Regenerate Thumbnails
- Zainstaluj wtyczkę Force Regenerate Thumbnails
- Przejdź do Narzędzia → Force Regenerate Thumbnails
- Wybierz Regenerate all thumbnails
- Poczekaj na zakończenie procesu
Regeneracja przez WP-CLI
Jeśli masz dostęp do WP-CLI:
wp media regenerate --yes
Uwagi podczas regeneracji
- Proces może zająć dużo czasu przy dużej liczbie obrazów
- Może zwiększyć zużycie zasobów serwera
- Wykonuj regenerację poza godzinami szczytu
- Upewnij się, że masz kopię zapasową przed rozpoczęciem
Zapobieganie problemom w przyszłości
Lepsze niż naprawianie problemów jest ich zapobieganie. Oto jak zminimalizować ryzyko wystąpienia problemów ze skalowaniem w przyszłości.
Regularne kopie zapasowe
- Twórz kopie zapasowe folderu uploads
- Ustaw automatyczne backupy przynajmniej raz w tygodniu
- Przechowuj kopie w różnych lokalizacjach
Optymalizacja obrazów przed wgrywaniem
- Zmniejszaj rozmiar obrazów przed wgrywaniem (maks. 2000px szerokości)
- Kompresuj obrazy przed wgrywaniem
- Używaj odpowiednich formatów (JPEG dla zdjęć, PNG dla grafiki)
Monitorowanie stanu serwera
- Regularnie sprawdzaj stan bibliotek graficznych
- Monitoruj zużycie pamięci PHP
- Sprawdzaj uprawnienia folderów
Ostrożność z wtyczkami
- Wybieraj sprawdzone wtyczki z dobrymi ocenami
- Aktualizuj wtyczki regularnie
- Testuj nowe wtyczki na środowisku deweloperskim
Podsumowanie – kluczowe kroki naprawy
Problemy z automatycznym skalowaniem obrazów mogą być frustrujące, ale z odpowiednim podejściem są w pełni naprawialne.
Szybka checklist naprawy:
Krok 1: Diagnoza
- Sprawdź, czy biblioteka GD jest zainstalowana
- Zweryfikuj uprawnienia folderu uploads
- Sprawdź limit pamięci PHP
Krok 2: Naprawa
- Zainstaluj bibliotekę GD (jeśli brakuje)
- Napraw uprawnienia folderów i plików
- Zwiększ limit pamięci PHP
Krok 3: Testowanie
- Wyłącz wtyczki do obróbki obrazów
- Wgraj testowy obraz
- Sprawdź, czy miniaturek są generowane
Krok 4: Regeneracja
- Zregeneruj wszystkie istniejące obrazy
- Sprawdź, czy nowe rozmiary są poprawne
Najważniejsze zasady:
1. Sprawdź bibliotekę GD – to najczęstsza przyczyna problemów.
2. Weryfikuj uprawnienia – nieprawidłowe uprawnienia blokują tworzenie miniaturek.
3. Zwiększ pamięć PHP – przetwarzanie obrazów wymaga odpowiednich zasobów.
4. Testuj wtyczki – niektóre wtyczki mogą konfliktować ze skalowaniem.
Pamiętaj – automatyczne skalowanie obrazów to kluczowa funkcja WordPress, która wpływa na wygląd i wydajność strony. Z odpowiednim podejściem i regularnym monitorowaniem możesz uniknąć większości problemów.
Masz problem ze skalowaniem obrazów na swojej stronie WordPress? Chętnie pomożemy Ci zdiagnozować i naprawić problem z przetwarzaniem obrazów. Niezależnie czy to brak biblioteki GD, problem z uprawnieniami czy konflikt z wtyczkami - znajdziemy rozwiązanie. Skontaktuj się z nami, aby przywrócić poprawne działanie miniaturek na Twojej stronie.