Я обновляю свой сайт до PHP 7.1.7, а также IIS и столкнулся с проблемой, когда imagecreatetrucolor выдает ошибку 500.

http://localhost/test.php 500 (Internal Server Error)

Единственная строка кода в этом файле:

<?php imagecreatetruecolor(10,10) ?>

Это работало на сайте под PHP 5.6.31 и Apache и возвращает

resource(2) of type (gd)

Создание изображений GD указано в phpinfo () в разделе 7.1.7 как

GD imaging  Rasmus Lerdorf, Stig Bakken, Jim Winstead, Jouni Ahto, Ilia Alshanetsky, Pierre-Alain Joye, Marcus Boerger

Это ошибка

Fatal error: Uncaught Error: Call to undefined function imagecreatetruecolor() in D:\Intranet\www\public\test.php:11 Stack trace: #0 {main} thrown in D:\Intranet\www\public\test.php on line 11

В чем может быть проблема?

4
Paul 1 Авг 2017 в 19:56
1
Включите отчет об ошибках из вашего ini-файла, чтобы узнать, в чем ошибка !!
 – 
lotfio
1 Авг 2017 в 19:58
Это ошибка Неустранимая ошибка: Неперехваченная ошибка: вызов неопределенной функции imagecreatetruecolor () в D: \ Intranet \ www \ public \ test.php: 11 Трассировка стека: # 0 {main}, брошенная в D: \ Intranet \ www \ public \ test.php в строке 11
 – 
Paul
1 Авг 2017 в 20:13
Так что ваша функция не определена!
 – 
lotfio
1 Авг 2017 в 20:15
1
Это встроенная функция в PHP, как ее нельзя определить?
 – 
Paul
1 Авг 2017 в 20:19
1
Убедитесь, что вы также обновили php-gd до php7.1-gd, и проверьте это, это может быть полезно stackoverflow.com/questions/4560996/…
 – 
lotfio
1 Авг 2017 в 20:24

1 ответ

Лучший ответ

На основе вашего комментария Убедитесь, что вы установили php7.1-gd и он включен

Посмотрите этот ответ, это может быть полезно call-to-undefined-function-imagecreatetruecolor

2
lotfio 1 Авг 2017 в 22:00
Чтобы быть конкретным, мне пришлось раскомментировать extension = php_gd2.dll в php.ini. Мне также пришлось раскомментировать extension = php_exif.dll, чтобы иметь возможность работать с данными exif в файле, чтобы сайт продолжал работать должным образом. Спасибо за помощь.
 – 
Paul
1 Авг 2017 в 23:19