среда, 27 октября 2010 г.

обновляем php

Надо было обновить php до 5.2.14 во фре. Помня предыдущие мытарства, оттягивал этот момент как мог. А тут еще ворох проблем, и прежде всего - простой portupgrade не пройдёт, ибо php5 теперь содержит 5.3, надо его выносить и ставить php52
Пробовал править +CONTENTS в /var/db/pkg, с переименованием папок с пакетами из php5 в php52, и потом pkgdb -F
Правда, правил только php5 и php5-extensions
Оказалось, проще будет так:
pkg_info|grep php5|awk '{print $1}'>php5-pkg
cat php5-pkg|xargs pkd_deinstall -f -
cd /usr/ports/lang/php52
и далее по списку ставим сам пхп, экстеншены... А также наверняка вынесенные phpMyAdmin, и всё "лишнее" из php5-pkg.

Пачка засад:
PHP Warning:  [eAccelerator] This build of "eAccelerator" was compiled for PHP version 5.2.11. Rebuild it for your PHP version (5.2.14) or download precompiled binaries.\n in Unknown on line 0
PHP Fatal error:  Unable to start eAccelerator module in Unknown on line 0
Надо пересобирать акселератор.

 Пересобрал.
PHP Fatal error:  Unable to start eAccelerator module in Unknown on line 0
eAccelerator: Could not allocate 67108864 bytes, the maximum size the kernel allows is 33554432 bytes. Lower the amount of memory request or increase the limit in /proc/sys/kernel/shmmax.

Увеличил до 64М
# sysctl kern.ipc.shmmax=67108864
kern.ipc.shmmax: 33554432 -> 67108864

Не помогло.
PHP Fatal error:  Unable to start eAccelerator module in Unknown on line 0
eAccelerator: shmmax should be at least 2MB

Тут: http://m.habrahabr.ru/post/67557/ нашел, что надо скопировать файлик.
cp /usr/local/share/examples/eaccelerator/eaccelerator.ini /usr/local/etc/php/
Не помогло. Правда, у меня был php.ini еще поправлен, прямо туда вписана настройка.
Хотя тут: http://nil.nu/ нашел подсказку:
kern.ipc.shmall=65536
kern.ipc.shmmax=268435456
и еще видел где-то совет прописать
eaccelerator.shm_max="32"
Больше 2, лучше 16-32.
После этого поднялось. Ура. 


checking for APR... configure: error: the --with-apr parameter is incorrect.

Что-то не то с APR, вылечил так:
cd /usr/ports/devel/apr1
make install clean
Хотя тут: http://free-pc-help.ru/news/checking-for-apr-configure-error-the-with-apr-parameter-is-incorrect/ сказано, что пакет надо бы пересобрать с тредами, но у меня его а) не стояло, б) галочка  на тредах была.

Комментариев нет:

Отправить комментарий