Linux — не может отрисовать динамически созданное изображение в PHP (Apache2)

Я пытаюсь сделать капчу изображение на странице следующим образом:

<img src="part/captcha_image.php?rand=<?php echo rand(); ?>" id='captchaimg' alt="captcha image">

Изображение возвращается в captcha_image.php с:

header('Content-Type: image/jpeg'); // defining the image type to be shown in browser widow
imagejpeg($image); //showing the image

И на Windows-машине на xampp это показывает без проблем, но на Linux с ручным установочным образом apache2 не рендерится, и в инструментах разработчика браузера я вижу следующие ошибки:

Failed to load resource: the server responded with a status of 500 (Internal Server Error) (Показано на Chrome и Firefox)

http://localhost/app/part/captcha_image.php?rand=1653484771 Failed to load resource: net::ERR_CACHE_MISS (отображается только на Chrome)

Что мне не хватает?

0

Решение

Похоже, что этот вопрос был дан ответ в комментариях. Для такой проблемы обязательно включите подробный отчет об ошибках в конфигурации PHP и нажмите URL-адрес изображения прямо в адресной строке браузера.

Если вы делаете это, и на самом деле проблема в том, что вам нужно gd а также gd отсутствует, то страница об ошибке скажет вам об этом.

1

Другие решения

Как подсказал @Cheery в комментариях, мне не хватало GD модуль, который отвечает за создание и управление файлами изображений
. команда sudo apt-get install php5-gd && sudo service apache2 restart исправил мою проблему.

0

По вопросам рекламы [email protected]