В комплект поставки входит множество функций. Я потратил много времени на то, как скомпилировать расширение для моей версии PHP. Итак, есть инструкции.
0, Установите пакет разработки PHP. Также вы должны установить PHP с расширением GD (но не в комплекте)
sudo apt-get install php5-dev
1, Скачать исходный код используемого PHP (для меня 5.6.18)
wget http://cz2.php.net/get/php-5.6.18.tar.gz/from/this/mirror -O php-5.6.18.tar.gz
2, Извлечение архива
tar -xzf php-5.6.18.tar.gz
3, перейдите к исходному коду расширения GD
cd php-5.6.18/ext/gd/
4, Подготовьте расширение (запустите phpize в этом каталоге)
phpize
5 Теперь команда configure
5.1 . Аргументы зависят от вашего дистрибутива Linux. Мое было:
--with-freetype-dir=shared,/usr --with-vpx-dir=shared,/usr --with-jpeg-dir=shared,/usr --with-xpm-dir=shared,/usr/X11R6
5.2, Для получения путей для библиотек Вы должны запустить эту команду и искать только аргументы поиска, которые указаны выше (5.1)
php-config --configure-options
5.3. Также добавьте эти аргументы для configure (второй аргумент делает связанную версию)
--with-php-config=/usr/bin/php-config --with-gd
6, команда «Завершить настройку»
sudo ./configure --with-php-config=/usr/bin/php-config --with-gd --with-freetype-dir=YOUR_VALUE --with-vpx-dir=YOUR_VALUE --with-jpeg-dir=YOUR_VALUE --with-xpm-dir=YOUR_VALUE
7, Теперь запустите make
make
8, После компиляции Вы должны увидеть что-то вроде этого:
Libraries have been installed in: /home/jakub/php-5.6.18/ext/gd/modules If you ever happen to want to link against installed libraries in a given directory, LIBDIR, you must either use libtool, and specify the full pathname of the library, or use the `-LLIBDIR' flag during linking and do at least one of the following: - add LIBDIR to the `LD_LIBRARY_PATH' environment variable during execution - add LIBDIR to the `LD_RUN_PATH' environment variable during linking - use the `-Wl,-rpath -Wl,LIBDIR' linker flag - have your system administrator add LIBDIR to `/etc/ld.so.conf' See any operating system documentation about shared libraries for more information, such as the ld(1) and ld.so(8) manual pages. ---------------------------------------------------------------------- Build complete. Don't forget to run 'make test'.
Поэтому в модулях каталога вы скомпилировали вложенное расширение gd.so. 9, Замените NOT в комплекте gd.so с помощью вашего нового скомпилированного связанного расширения, для моей версии PHP. Это была команда:
sudo cp -f ./gd.so /usr/lib/php5/20131226/gd.so
10, Перезапустить Apache
sudo service apache2 restart
Надеюсь это поможет! и вы будете тратить меньше времени, чем мне.
Другой путь:
Также я мог бы скомпилировать модуль со следующими параметрами:
#! /bin/sh # # Created by configure './configure' \ '--with-php-config=/usr/bin/php-config' \ '--with-gd=shared' \ '--with-freetype-dir=/usr' \ '--with-vpx-dir=/usr' \ '--with-jpeg-dir=/usr' \ '--with-xpm-dir=/usr' \ '--with-png-dir=/usr' \ '--with-t1lib=/usr' \ '--enable-gd-native-ttf' \ "$@"