gd library php установка
How do I install GD on my windows server version of PHP
I am running Windows Server 2003 and need to install a version of GD.
Can anyone point out some instructions or advice?
8 Answers 8
It was in my c:\xampp\php\php.ini
This was commented out as you can see, removing ; and restarting apache server fixed my problem.
You need to edit your php.ini (found in your C:/PHP folder if you installed PHP here). Add the following line (or remove the ; before it if it exists in there):
Issue was resolved. I am using XAPP.
I tried to search for «extension=php_gd2.dll» file in «php.ini» file but there was no such thing there («;extension=php_gd2.dll» was also not there with a semicolon). Then I included the statement «extension=php_gd2.dll» myself in php.ini file. Also, I downloaded the the file «extension=php_gd2.dll» from https://www.dll-files.com/php_gd2.dll.html and placed it in folder «C:\xampp\php» (there is also another folder C:\xampp\php\ext where other extensions reside but anyway this method did not work). Then I restarted Apache and MySQL from xampp-control.exe. It did NOT work.
I RESET all the changes I made in the previous step.
Tried the other method:
opened «php.ini» file (at C:\xampp\php) and looked for «extension=gd». I noticed that there was a semicolon present with the searched word and it appeared as «;extension=gd». I removed semicolon. Saved the php.ini file. Stopped and restarted Apache from xampp-control.exe.
So what exactly was resolved? When I was selecting logo image on wordpress at Customizing ▸ Default/Basic Setting ▸ Site Identity, I was unable to crop it earlier. After following the second step, it works. Now I can crop files.
Работа c графической библиотекой PHP GD library. Часть первая.
Если вы заядлый PHP разработчик, вы, наверняка, не только наслышаны о графической библиотеке GD library. Для тех, кто с ней не знаком, поясняю GD library позволяет создавать изображения, видоизменять и управлять ими без особых усилий. Сегодня, мы познакомимся с азами использования в PHP графической библиотеки GD library.
Прежде всего
Убедитесь, что GD библиотека установлена и активирована на вашем сервере. Не знаете как это сделать? Не переживайте, все просто! Вам только нужно создать PHP файл на сервере, затем введите следующее:
Теперь откройте страницу браузера и вы увидите громадный список возможностей вашей версии PHP. Прокрутите страницу немного вниз, найдите секцию ‘GD’ и убедитесь, что библиотека подключена. Если нет, свяжитесь с компанией, предоставляющей вам услуги хостинга. К счастью, на большинстве серверов, на которых я уже успел поработать и работаю, GD библиотека установлена и подключена.
Основные моменты
Давайте пройдемся по некоторым основным моментам. Во-первых, сделаем так, чтобы все отчеты об ошибках выдавались браузером. Этого можно добиться, введя в самом начале вашего php-кода следующее:
Нарисуем квадрат
• Установить тип содержимого как «изображение», чтобы браузер смог интерпретировать изображение должным образом;
• Создать новое пустое изображение, установив нужную ширину и высоту;
• Сделать цвет фона синим;
• Сохранить окончательный вариант изображения и передать его в браузер;
• Очистить память, которая использовалась для создания и хранения изображения;
• Организовать отображение рисунка из файла index.php
Теперь, когда мы определились с порядком действий, можно начинать кодирование. Я постарался прокомментировать каждую строчку кода, а о функциях, использовавшихся в процессе кодировки, расскажу потом. Итак, вот код для создания нашего синего квадрата. После написания мы сохраним его под именем ‘basic_square.php’.
Теперь давайте рассмотрим все использованные функции и каждый шаг вышеприведенного кода, чтобы лучше понять, что именно мы в нем делаем:
• Как я уже пояснял, мы добавляем опцию сообщения об ошибках, чтобы в случае необходимости быстро их исправить
• Затем мы используем функцию header(), чтобы установить тип содержимого – png
• Сохраняем изображение и устанавливаем необходимую ширину и высоту – более подробно см. imagecreate()
• Затем используем функцию imagecolorallocate, чтобы выбрать синий цвет для фона нашего рисунка. Обратите внимание, что в окончательном варианте будет виден цвет, установленный в первую очередь, так что наш квадрат получится синим, а не красным.
• Для окончательного сохранения рисунка мы используем imagepng(). Если вы желаете сохранить рисунок в каком-либо каталоге, следует ввести дополнительные параметры.
• И, наконец, мы чистим память с помощью функции imagedestroy()
Мы можем посмотреть на нарисованный нами квадрат, открыв файл blue_square.php, а, еще лучше будет, если мы установить ссылку на него на главной странице:
Если все было сделано правильно, вы увидите вот такой синий квадрат:
Привет, Мир
Теперь, когда мы научились создавать изображения, давайте попробуем сделать изображение с текстом, написанным выбранным нами шрифтом. Мы можем воспользоваться любым шрифтом из каталога TrueType Font (.tff). В следующих примерах я буду использовать шрифт ‘Advent’. Давайте напишем «Hello World» на темно-сером квадрате. Внимание, смотрим на код, а затем подробно разбираем каждый шаг.
Сохраним код в файле ‘hello_world.php’и будем открывать его таким же способом, какой был указан выше. Итак, что здесь нового?
• Мы установили размер изображения 300*300 пикселей и использовали темно-серый фон
• Обратите внимание, как мы указывали путь к шрифту, используя имя шрифта: дело в том, что далее в коде нам придется накладывать текст на изображение. Кроме того, не забывайте, что имя шрифта пишется без расширения. Впрочем, это зависит от того, какую версию GD-библиотеки использует PHP: если названием шрифта не начинается с ‘/’, то потребуется расширение ttf – то есть, если перед названием файла нашего шрифта не стоит /, то в конце будет автоматически добавлено ttf.
• Затем мы пишем «Hello World!» и сохраняем текст для дальнейшего использования
• Важнейшая функция, использованная в этом коде – это imagettftext(), требующая указания 8 параметров: путь к изображению, размер изображения, угол наклона, ось x, ось y, цвет, шрифт, текст (в таком порядке)
Сохраните код, откройте его любым способом, и вы увидите вот такую картинку:
Поверните его!
Вы заметили, что у функкции imagettftext, соединяющей текст и картинку, есть параметр расположить под углом’? Значит, мы можем повернуть наш текст под любым углом. Давайте перепишем код и повернем строчку на квадрате.
Ну как? Интересно? Нет? Тогда давайте попробуем заняться чем-нибудь более практичным.
Какое сегодня число?
Теперь у нас есть основа, и мы можем обработать ее с помощью функций GD и PHP. Предупреждаю, что я не претендую на звание величайшего в мире дизайнера – возможно, на сайте лучше смотрелась бы другая заготовка и другой шрифт. Так что дизайн за вами, а пока давайте посмотрим на код:
Итак, что мы здесь делаем? Что за функция list()? Давайте разберемся:
Если не произошло никаких катастроф, у вас должна получиться представленная ниже картинка, с той лишь разницей, что дата будет той, что установлена на вашем компьютере – мой рисунок, как вы можете догадаться, статичен. За помощь со скриптом спасибо сайту catpin.
Кошки и фильтры изображений
Последнее, чему я сегодня вас научу, это фильтры изображений – очень интересная штука, поверьте мне. Функция imagefilter() берет готовое изображение и определенным образом изменяет его – например, переводит в черно-белый режим. Давайте посмотрим на картинку, с которой мы будем работать, в ее первоначальном виде.
А теперь сделаем кота черно-белым с помощью функции фильтрации изображений.
Вышеприведенный скрипт является достаточно гибким, так что вы без труда сможете сделать любой рисунок черно-белым – вот так:
Другие фильтры:
В завершение урока я познакомлю вас с некоторыми другими графическими фильтрами и результатами их применения
Фильтр яркости
За яркость изображения отвечает третий параметр:
Гауссово размывание
Размывание по Гауссу, никаких дополнительных параметров
Контрастность
Третий параметр определяет контрастность
Удаление среднего значения (эффект рисунка)
Никаких дополнительных параметров.
Цветовой баланс
Устанавливает насыщенность красного, зеленого, синего цветов, а также альфа-канала (по желанию) в перечисленном порядке
Надеюсь, что вы более или менее разобрались с использованием в PHP библиотеки GD. Во второй части мы рассмотрим некоторые продвинутые техники и, конечно, узнаем еще больше интересного. Используйте библиотеку GD и свои творческие способности и обязательно расскажите мне, что у вас получилось!
Данный урок подготовлен для вас командой сайта ruseller.com
Источник урока: www.blog.themeforest.net
Перевел: Максим Шкурупий
Урок создан: 19 Октября 2009
Просмотров: 74464
Правила перепечатки
5 последних уроков рубрики «PHP»
Фильтрация данных с помощью zend-filter
Когда речь идёт о безопасности веб-сайта, то фраза «фильтруйте всё, экранируйте всё» всегда будет актуальна. Сегодня поговорим о фильтрации данных.
Контекстное экранирование с помощью zend-escaper
Обеспечение безопасности веб-сайта — это не только защита от SQL инъекций, но и протекция от межсайтового скриптинга (XSS), межсайтовой подделки запросов (CSRF) и от других видов атак. В частности, вам нужно очень осторожно подходить к формированию HTML, CSS и JavaScript кода.
Подключение Zend модулей к Expressive
Expressive 2 поддерживает возможность подключения других ZF компонент по специальной схеме. Не всем нравится данное решение. В этой статье мы расскажем как улучшили процесс подключение нескольких модулей.
Совет: отправка информации в Google Analytics через API
Предположим, что вам необходимо отправить какую-то информацию в Google Analytics из серверного скрипта. Как это сделать. Ответ в этой заметке.
Подборка PHP песочниц
Подборка из нескольких видов PHP песочниц. На некоторых вы в режиме online сможете потестить свой код, но есть так же решения, которые можно внедрить на свой сайт.
Подключение GD2 к PHP
Это не точная и окончательная инструкция к действию использующая правильные термины и оптимальные варианты. Это скорее лог текущей проблемы.
Задача: Добавить в PHP поддержку/модуль GD2
Как обычно начинаем тренироваться на локальном компьютере, а он, конечно, работает под виндами. Точнее Windows XP SP2. Далее подключим GD2 в PHP, настроенном через порты или собранным вручную под FreeBSD.
Подключение GD2 к PHP под Windows
Находим в дистрибутиве:
\php-4.3.9-Win32.zip\php-4.3.9-Win32\extensions\
библиотеку php_gd2.dll, т.е. версию 2.
и копируем php_gd2.dll в c:\windows
в файле c:\windows\php.ini находим строку extension=php_gd2.dll и убираем комментарий.
Перегружаем Апач. Всё.
Подключение GD2 к PHP под FreeBSD
PHP уже инсталлирован из портов
PHP собран вручную
В этом случае требуется предварительная работа по подготовке JPEG и ZLIB
Установка поддержки JPEG
JPEG из порта
JPEG из дистрибутива
Надо установить поддержку zlib
Из порта
Собираем PHP
Далее собираем новый Apache как обычно и заменяем им старый. JPEG, PNG, GIF работают.
Тестирование
Пройденные ошибки
При установке библиотеки JPEG после «make» была сделана команда «make install» с расчётом, что новые файлы лягут в /usr/local и потом автоматически будут там найдены
Но почему-то JPEG не подключился. Не было никакой отрицательной диагностики и нет результата.
По глупости я тыкался как слепой котёнок пытаясь поставить то так, то этак. То через всё встроенное, то через скаченное, то из портов. Всё это безобразие сопровождалось лишними инсталляциями от чего произошли накладки из-за которых в момент инсталляции PHP были ошибки: при этом вроде директория для GD указывается, но диагностика ссылается на встроенную директорию.
Попытка подготовить все модули отдельно и точно указать на них:
Решение
PHP install GD extension – The smart way
Without pictures, websites would be fairly boring.
However, compressing or cropping images, doing greyscale, etc. can be time-consuming and often error-prone.
Fortunately, using the PHP GD extension take care of all your basic image edit requirements.
At Bobcares, we often get requests to install PHP gd extension as part of our Server Management Services.
Today, let’s get into the details and see how our Support Engineers manage PHP install gd extension and fix errors.
How we install GD library for PHP on CentOS
The GD library is a library that offers graphics drawing tools to manage image data. By default, it may not be installed on the server. So, we have to install the GD library manually.
Here, let’s see how our Support Engineers install a GD library for PHP on CentOS
Before getting into the installation procedure, we make sure that if it’s already installed with the following command.
If not, we follow the below steps to install a gd extension.
1. We run the below command to install a gd extension.
2. Then, we restart the apache as follows.
That’s it!. Here we have installed the gd library.
Similarly, adding GD library support involves executing the command:
After that, we create info.php with one line of code to test whether or not the gd extension is enabled on the server.
For example, after enabling the extension, the output looks like:
How we fix the gd extension installation errors
At Bobcares, where we have more than a decade of expertise in managing servers, we see many customers face problems while installing gd extension on the server.
Now, let’s see the major reasons for installation error and how our Support Engineers fix the top errors.
1. Missing package
Recently, one of our customers had a problem with the gd extension. He had installed php71w-gd and still had this error when uploading a file. The error said,
Intervention \ Image \ Exception \ NotSupportedException
GD Library extension not available with this PHP installation.
On checking, our Support Engineers found that he was using the Laravel web framework on the CentOS7 server and Nginx web server. Also, the gd package was not installed properly.
That means GD Library was missing on the server.
Therefore, we reinstalled php71 and php-gd from Remi’s RPM repository by running this code.
Then, we restarted Nginx and PHP-FPM.
This is how we fixed the error.
2. Missing configuration in php.ini
Every domain has its own php.ini file. It contains information on how PHP applications run under the domain.
Therefore, it should also be enabled in php.ini after installing the module server-wide. Then only the module can take effect on the corresponding domains.
Sometimes, customers may forget to enable it in the php.ini file which results in an error like.
NotSupportedException in Driver.php line 16: GD Library extension not available with this PHP installation.
Then, our Support Engineers add the following line to the php.ini file. If the domain is on a Windows server, we add
Or in a Linux server, we uncomment the line:
Then, we restart the web server for the changes to take effect.
In Apache,
Or in Nginx,
This fixes the error and the website works normally.
[Need assistance in tasks like PHP install gd extension? We’ll help you.]
Conclusion
In short, a GD library is a graphics drawing library that provides tools for modifying image data. Today, we saw the topmost reasons for the gd extension installation errors and how our Support Engineers manage PHP install gd extension.
Related posts:
PREVENT YOUR SERVER FROM CRASHING!
Never again lose customers to poor server speed! Let us help you.
Our server experts will monitor & maintain your server 24/7 so that it remains lightning fast and secure.
How to install/enable GD in xampp windows [php 7.2]?
I Can’t figure out how to install php-gd for PHP7.2. Is there any way to install/enable GD extension in xampp windows? I checked the php.ini file for php_gd2.dll but I can’t find that line. It seems like GD is missing in PHP7.2. Any suggestions??
3 Answers 3
Under xampp/php/php.ini look for «extension=gd2» and uncomment it, I presume this what you looking for
You are done.
My PHP version is 8. if yours is 7 you may need to add extension=gd2 in php.ini file.
You can see your PHP version by searching for «localhost/dashboard» in the browser and then clicking on «PHPinfo» at the top right.
if «;extension=gd» is already there, remove the semicolon and save the file and restart Xampp.
Not the answer you’re looking for? Browse other questions tagged codeigniter gd or ask your own question.
Related
Hot Network Questions
Subscribe to RSS
To subscribe to this RSS feed, copy and paste this URL into your RSS reader.
site design / logo © 2021 Stack Exchange Inc; user contributions licensed under cc by-sa. rev 2021.9.16.40232
By clicking “Accept all cookies”, you agree Stack Exchange can store cookies on your device and disclose information in accordance with our Cookie Policy.