Назад | Перейти на главную страницу

Как заставить syck компилироваться с php5.2.x

Какие шаги необходимы для компиляции в поддержку Syck в php 5.2.x в 64-битной системе centos 5.3?

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

Примечания: Это был 64-битный модуль centos 5.3.

Итак, сначала мне пришлось скачать исходный код как для syck, так и для php. Я извлек их в ~ / syck и ~ / php5 соответственно.

Если вы просто попытаетесь настроить php5 для дальнейшего добавления в syck, вы увидите, что для его добавления нет опции настройки:

[z@abc php-5.2.6]# ./configure --help |grep syck
[z@abc php-5.2.6]# 

Затем я установил некоторые параметры компиляции

export CFLAGS = "- fPIC -O3" это дает мне оптимизацию уровня 3 и независимую от процессора компиляцию.

затем создайте syck

[z@abc syck-0.53/ext/php]# ./configure --prefix=/usr/local/syck
[z@abc syck-0.53/ext/php]# make -j4
[z@abc syck-0.53/ext/php]# make check
[z@abc syck-0.53/ext/php]# make install

теперь я копирую каталог расширения php для syck в область ext php

cd {SYCKSRCDIR}
cp -r ext/php ../{PHPSRCDIR}/ext/syck
cd ../{PHPSRCDIR}

Затем я снова переключился на php (~ / php5)

Теперь, когда syck находится в каталоге php ext, я могу запустить buildconf, он подберет его и поместит в параметры конфигурации для php5.

[z@abc php-5.2.6]#  ./buildconf --force

Если вам интересно посмотреть, что происходит, вы можете запустить buildconf без --force, это ничего не повредит, но не запустится

Теперь я получаю

[z@abc php-5.2.6]# ./configure --help |grep syck
--with-syck=DIR       Include syck support 
[z@abc php-5.2.6]# 

Теперь php позволит мне добавить syck как статически скомпилированный модуль .. w000t !!

В заключение:

[z@abc php-5.2.6]# ./configure  '--prefix=/usr/local/php5' --with-syck=/usr/local/syck

Тогда пора !!!

[z@abc php-5.2.6]# make -j4
[z@abc php-5.2.6]# make test
[z@abc php-5.2.6]# make install

Готово!! Woot

Чтобы проверить мою работу:

[z@abc php-5.2.6]# /usr/local/php5/bin/php -m
[PHP Modules]
.
.
.
syck
.
.
.
[z@abc php-5.2.6]# 

yup php -m видит это как модуль!