Показаны сообщения с ярлыком php52. Показать все сообщения
Показаны сообщения с ярлыком php52. Показать все сообщения

вторник, 30 декабря 2014 г.

php 5.2 в конце 2014 года

До сих пор есть сайты, которые работают только под php 5.2, не выше. Почему не поправить их? Например, позиция владельца "я не буду платить, оно же работает!", а своих денег на программиста нет. Особенно если таких сайтов даже больше 10, а если счет идет на сотни и тысячи?
Или когда есть что-то кодированное (cms), тем же zend, и версия cms больше не на поддержке/той фирмы больше нет. Нужно переделывать сайт с нуля.
Надо ставить что требуется, и пусть официально оно уже не поддерживается...
Хотя и разработчики php тоже поступили по свински, серьёзно изменили некоторые вещи, сломав совместимость, но не стали делать 5.2-LTS версию. Лучи поноса в их сторону.

Отдельно хорошо было бы рассмотреть связку этих версий с ispmaanager, но пока нет возможности. В этом плане лучше всего работает система, где php только 1 версии.

четверг, 18 ноября 2010 г.

eaccelerator

Попробовал поставить eaccelerator.
#yum install php-eaccelerator

---> Package php-eaccelerator.i386 1:0.9.5.2-2.el5 set to be updated
--> Processing Dependency: php-zend-abi = 20050922 for package: php-eaccelerator
--> Finished Dependency Resolution
1:php-eaccelerator-0.9.5.2-2.el5.i386 from epel has depsolving problems
--> Missing Dependency: php-zend-abi = 20050922 is needed by package 1:php-eaccelerator-0.9.5.2-2.el5.i386 (epel)
Error: Missing Dependency: php-zend-abi = 20050922 is needed by package 1:php-eaccelerator-0.9.5.2-2.el5.i386 (epel)
You could try using --skip-broken to work around the problem
You could try running: package-cleanup --problems
package-cleanup --dupes
rpm -Va --nofiles --nodigest
The program package-cleanup is found in the yum-utils package.

Что за..

#yum install php-zend-abi
Package php-common-5.2.10-1.el5.centos.i386 already installed and latest version
Nothing to do

Ага, было слияние пакетов. Но та версия, что в epel, пока об этом не знает. А в centos-testing такого пакета просто нет.

Попробуем поставить remi
#rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-5.rpm
#yum install --enablerepo=remi php-eaccelerator

И... Оно хочет мне обновить php версию до 5.3!
5.3.3-1.el5.remi

Последняя попытка.
yum install --skip-broken php-eaccelerator

И все-равно не оно. И опции --nodeps или --force тоже нету. И даже банального --version=x.x
Вот за что ненавижу предкомпилированные пакеты -- чуть отклонение от нормы и собирай из исходников.

Дальше-больше. php-eaccelerator-0.9.5.2-2.el5.i386 похоже вообще не заработает.
http://eaccelerator.net/ticket/338

А потом я нашел решение.
#rpm -ihv http://centos.alt.ru/repository/centos/5/x86_64/centalt-release-5-3.noarch.rpm
#yum install php-eaccelerator

Все, стоит 0.9.6 и на той версии, что мне нужна.

понедельник, 1 ноября 2010 г.

И снова пых...

Обновлял php на другом сервере, словил ошибку..

In file included from /usr/local/include/apache2/httpd.h:44,
                 from /usr/home/max/dist/php-
5.2.13/sapi/apache2handler/php_apache.h:24,
                 from /usr/home/max/dist/php-
5.2.13/sapi/apache2handler/mod_php5.c:26:
/usr/local/include/apache2/ap_regex.h:90: error: conflicting types for 
'regoff_t'
/usr/home/max/dist/php-5.2.13/regex/regex.h:17: error: previous declaration of 
'regoff_t' was here
*** Error code 1
Оказалось, зафиксированный баг
http://bugs.php.net/bug.php?id=52187
Вылечилось правкой /usr/local/include/apache2/ap_regex.h, 90 строка, комментированием или удалением этого объявления.

среда, 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/ сказано, что пакет надо бы пересобрать с тредами, но у меня его а) не стояло, б) галочка  на тредах была.