Downgrade PHP 5.3 to PHP 5.2 и Zend Optimizer на FreeBSD

Unix

Автор: Александр Степанов

21 нояб. 2011 г., 11:09:26  2471


Недавно, понадобилось установить Zend Optimizer на FreeBSD c PHP 5.3 и основная проблема в том, что  Zend Optimizer для php 5.2 называется Zend Guard и FreeBSD не поддерживается. Пришлось даунгрейдить PHP c 5.3 до 5.2, что было успешно произведено.

Сначала удаляем все пакеты связанные со старым php

pkg_info | grep php
дальше
pkg_info -f и название пакета

Дальше смотрим, чтобы пакетов не было и приступаем к установке.

cd /usr/ports/lang/php52 ; make install clean
cd /usr/ports/lang/php52-extensions/ ; make install clean

Дальше проверяем, что мы установили:

php -v

Если все в порядке. то приступаем к установке Zend Optimizer, одно из решений, что мне помогло:

pkg_add -r ZendOptimizer

 

Проверяем в установленных в системе пакетах pkg_info | grep Zend

Проверяем в установленных в PHP модулях php -m

Рестартим индейца apachectl restart и проверяем внешним запросом на скрипт содержащий код на предмет содержания строчки «with Zend Optimizer v3.3.0, Copyright © 1998—2007, by Zend Technologies»

Второй способ установки для 32 битной версии:

fetch http://downloads.zend.com/optimizer/3.3.9/ZendOptimizer-3.3.9-freebsd6.0-i386.tar.gz 
tar -xf ZendOptimizer-3.3.9-freebsd6.0-i386.tar.gz 
cd ZendOptimizer-3.3.9-freebsd6.0-i386
cp data/5_2_x_comp/ZendOptimizer.so /usr/local/lib/php/20060613

Для 64 битной версии:

fetch ftp://ftp.freebsd.org/pub/FreeBSD/ports/distfiles/ZendOptimizer-3.3.0a-freebsd6.0-amd64.tar.gz
tar -xf ZendOptimizer-3.3.0a-freebsd6.0-amd64.tar.gz
cd ZendOptimizer-3.3.0a-freebsd6.0-amd64
cp data/5_2_x_comp/ZendOptimizer.so /usr/local/lib/php/20060613

если вышла ошибка, то:

"Failed loading /usr/local/lib/php/20060613/ZendOptimizer.so: Shared object "libm.so.4" not found, required by "ZendOptimizer.so"

делаем так:

ln -s /lib/libm.so.5 /lib/libm.so.4

открываем /usr/local/etc/php.ini и дописываем:

[Zend]
zend_extension=/usr/local/lib/php/20060613/ZendOptimizer.so
zend_optimizer.optimization_level=14

перезапускаем апач

usr/local/etc/rc.d/apache22 restart
или
apachectl restart

провеяем в консоли:

# php -v
 PHP 5.2.17 with Suhosin-Patch 0.9.7 (cli) (built: May 16 2011 16:18:38)
 Copyright (c) 1997-2009 The PHP Group
 Zend Engine v2.2.0, Copyright (c) 1998-2010 Zend Technologies
     with eAccelerator v0.9.6.1, Copyright (c) 2004-2010 eAccelerator, by eAccelerator
     with Zend Optimizer v3.3.9, Copyright (c) 1998-2009, by Zend Technologies