До сих пор есть сайты, которые работают только под php 5.2, не выше. Почему не поправить их? Например, позиция владельца "я не буду платить, оно же работает!", а своих денег на программиста нет. Особенно если таких сайтов даже больше 10, а если счет идет на сотни и тысячи?
Или когда есть что-то кодированное (cms), тем же zend, и версия cms больше не на поддержке/той фирмы больше нет. Нужно переделывать сайт с нуля.
Надо ставить что требуется, и пусть официально оно уже не поддерживается...
Хотя и разработчики php тоже поступили по свински, серьёзно изменили некоторые вещи, сломав совместимость, но не стали делать 5.2-LTS версию. Лучи поноса в их сторону.
Отдельно хорошо было бы рассмотреть связку этих версий с ispmaanager, но пока нет возможности. В этом плане лучше всего работает система, где php только 1 версии.
Показаны сообщения с ярлыком php52. Показать все сообщения
Показаны сообщения с ярлыком php52. Показать все сообщения
вторник, 30 декабря 2014 г.
четверг, 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 и на той версии, что мне нужна.
#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 строка, комментированием или удалением этого объявления.
четверг, 28 октября 2010 г.
среда, 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/ нашел подсказку:
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/ сказано, что пакет надо бы пересобрать с тредами, но у меня его а) не стояло, б) галочка на тредах была.
Пробовал править +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/ сказано, что пакет надо бы пересобрать с тредами, но у меня его а) не стояло, б) галочка на тредах была.
Подписаться на:
Сообщения (Atom)