Frequently Asked Questions

Question
PHP с GD на FreeBSD как сделать так чтобы оно было.

Answer
Странные вещи происходят с портовыми вариантами РНР на фрях... Как известно, все хоть сколько-нибудь замухрыжные сайты (кроме моих великих творений ессно) требуют наличия поддержки в РНР GD. Но вот как оказалось, просто тупыми make install, ползая по портам в нужных местах, добиться нужного эффекта не удается. Почему? Ну... Как минимум потому что все до сих пор встречавшиеся мне порты кладут кишки GD в одно место, а кривое по жизни портовое PHP ищет их в совсем другом. оставим чужую совесть на эту тему дрожать там куда она забилась и поправим положение руками. Для начала присобачим кишки на место. Идем в /usr/local/include и делаем симлинки в /usr/local/lib всех файлов, которые начинаются на gd и заканчиваются на .h Ну да, просто "ашки" гд сваливаем в ту же кучу что и "ошки". Так проще всего, чесс слово. Потом идем в /usr/ports/lang/php5, говорим там make install до момента пока он не начнет конфиг, надо только чтобы распаковал (ну я люблю все автоматом), останавливаем процесс, идем в work/php-5.2.четамувас, говорим с командной строки такую штуку:

./configure --with-apxs2=/usr/local/sbin/apxs --with-mysql --with-gd=/usr/local/lib   --with-jpeg-dir=/usr/local/lib   --with-png-dir=/usr/local/lib   --with-freetype-dir=/usr/local/lib  --with-t1lib=/usr/local/lib --with-config-file-path=/usr/local/etc --with-config-file-scan-dir=/usr/local/etc/php


и ждем када закончит. Только учитывайте что вот все перечисленное тут установлено уже заранее! и апач2, и mysql и jpeg и png и freetype и t1lib. В противном случае удалите из строки упоминание о том что не стоит. Все. Когда процесс закончится без ошибок (или он вам напишет что не нашел) делаете make потом make install и php with gd готово. А заодно с апачем 2 и фритипом и джепегом и т.д.

PS: Оговорюсь что совсем не факт что у вас возникли проблемы с GD именно по описанной мной причине. РНР кривят часто и разно. Правда описанную проблему я вижу уже очень давно, а что касается апача - так кажется апач сам решил свою проблему с РНР, а они все так его и не видят...

PPS: Недавно ставил очередной сервер и обнаружил что GD в последних портах отрабоатывает относительно нормально. Так что смотрите сами, лучше всего сначала попробовать что получится "официальным" путем, а потом уже пробуйте мой вариант.

PPPS: Естьвариант еще гуманнее - правка Makefile. Вместо блока

.if ${APACHE_VERSION} > 13
CONFIGURE_ARGS+=--with-apxs2=${ APXS }
.else
CONFIGURE_ARGS+=--with-apxs=${ APXS }
.endif

вставьте вот это:

CONFIGURE_ARGS+=--with-apxs2=/usr/local/sbin/apxs 
CONFIGURE_ARGS+=--with-mysql --with-gd=/usr/local/lib   
CONFIGURE_ARGS+=--with-jpeg-dir=/usr/local/lib   
CONFIGURE_ARGS+=--with-png-dir=/usr/local/lib   
CONFIGURE_ARGS+=--with-freetype-dir=/usr/local/lib  
CONFIGURE_ARGS+=--with-t1lib=/usr/local/lib 
CONFIGURE_ARGS+=--with-config-file-path=/usr/local/etc 
CONFIGURE_ARGS+=--with-config-file-scan-dir=/usr/local/etc/php


Все то же самое что написано сверху, только не надо ничего останавливать и куда-то идти. Просто делаете маке инсталл и все. Если появляются ошибки касательно добавленных вами либ, уберите указывающую на ошибочный путь строку.


Details
Info Sunday 14 March 2010 - 17:25:00 by




Vampyr`s House!


Protected by Copyscape DMCA Plagiarism Check