Какие шаги необходимы для компиляции в поддержку 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 видит это как модуль!