Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Загрузка картинок на PHP8 не работает #1447

Closed
makartsoft opened this issue Feb 12, 2023 · 7 comments
Closed

Загрузка картинок на PHP8 не работает #1447

makartsoft opened this issue Feb 12, 2023 · 7 comments

Comments

@makartsoft
Copy link

Используемая версия InstantCMS: 2.15.2
Версия PHP: 8.1.6

Как воспроизвести проблему:

  1. Взять любую новость/пост/профиль пользователя;
  2. Нажать редактировать и сменить картинку / аватар пользователя.
  3. Получить всплывающие окно с надписью "undefined".

При этом, некоторые картинки грузятся (какая логика - вообще не понятно).

При переключении сайта на php 7.4 все работает как нужно.

@fuzegit
Copy link
Member

fuzegit commented Feb 12, 2023

PHP 8.1.15
Всё грузится без проблем.

При этом, некоторые картинки грузятся (какая логика - вообще не понятно).

Хочется подробностей - некоторые это какие? Какие настройки пресета изображений в админке?

Что с настройками PHP:

  • upload_max_filesize
  • post_max_size
  • memory_limit

Если стоит Nginx, что с client_max_body_size?

@makartsoft
Copy link
Author

makartsoft commented Feb 12, 2023

Веб сервер: Apache
Версия PHP: 8.1.6, apache2handler
PHP: 8.1 работает как модуль сервера Apache (mod_php)
Лимит памяти: 128 Мб
Макс. размер загрузки: 10 Мб
post_max_size 10M
upload_max_filesize 10M
Установлен Zend OPcache: Да
Установлен IonCube Loader: Да
Установлен Zend Guard Loader: Нет
MySQL 5.7 с поддержкой MyISAM и InnoDB

Все настройки пресетов стандартные (установлен дефолтный 2.15.2 с демоданными - ничего не менялось в настройках).
Вот скрин присетов и скрин при попытке загрузки картинки (повторю, на php8, на 7.4 все работает).
skrin1
skrin2

Пример обычной картинки, которую пытаюсь загрузить:
Картинка для загрузки 1 (не грузится)
Картинка для загрузки 2 (не грузится)

Пробовал на 2 разных сайтах (хостинг один, на других нет возможности проверить).

А вот на OpenServer все работает. Возможно какие-то ограничения на самом хостинге?

@fuzegit
Copy link
Member

fuzegit commented Feb 12, 2023

Смените формат webp в настройках пресета на любой другой и/или замените на "как исходный" и проверьте еще раз.
Ну и в логах должно быть что-то на этот счёт, посмотрите на хостинге error лог.

@makartsoft
Copy link
Author

Смените формат webp в настройках пресета на любой другой и/или замените на "как исходный" и проверьте еще раз.
Ну и в логах должно быть что-то на этот счёт, посмотрите на хостинге error лог.

Уважаемый Fuze. Это все пробовал. Результата нет.
Написал хостеру, вот что он пишет:
"Помимо undefined, при загрузке файла "atom800.jpg" сервер еще отдает:
Deprecated: Implicit conversion from float 138.5 to int loses precision in /home/d44/ТУТ АДРЕС МОЕГО САЙТА/WWW/system/core/images.php](http://ТУТ АДРЕС МОЕГО САЙТА/WWW/system/core/images.php) on line 545
Получается, код не очень совместим с PHP 8.1.
Нужно либо исправить код, либо можно отключить вывод ошибок PHP в браузер"

Вот эту картинку посылал хостеру:
atom800

@makartsoft
Copy link
Author

Уважаемый Fuze. Это все пробовал. Результата нет.

Большое уточнение. Эта ошибка с загрузкой, если включен флаг "Включить режим отладки". Как только режим отладки отключить, то все картинки грузятся!

@fuzegit
Copy link
Member

fuzegit commented Feb 12, 2023

Вот теперь понятно.
Попробуйте заменить файл /system/core/images.php , взяв его отсюда с гита. И проверьте еще раз, с включенной отладкой. Вроде бы это правил.
https://github.com/instantsoft/icms2/blob/master/system/core/images.php

@makartsoft
Copy link
Author

https://github.com/instantsoft/icms2/blob/master/system/core/images.php
Заменил, ничего не изменилось. Потом проверил и оказалось, что код абсолютно такой же, как в дистрибутиве 2.15.2 (сравнил с помощью Total Commander функцией "Сравнить по содержимому")

@fuzegit fuzegit added this to the 2.16.0 milestone Feb 12, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

No branches or pull requests

2 participants