PHP в деталях

Установка ПО.


Установка производилась на 2 машины с конфигурациями:

1. RedHat 6.2, Apache 1.3.20, PHP 4.0.6.

2. Linux Mandrake 8.0, Apache-AdvancedExtranetServer/1.3.19, PHP

4.0.4pl1.

Самое важное и главное - достать с Зенда нужные дистрибуты (для той ПХП, которая стоит на машине). Большинство собак зарыто именно здесь.

Установка сводится к следующему:

1. скачать 2 архива: один с Zend Optimizer, другой с Zend Encoder.

2. создать директорию /usr/local/Zend.

3. используя mc, или кто со строки любит, распаковать в директорию /usr/local/Zend файлы: из архива Optimizer'a - ZendOptimizer.so, из архива Encoder'a - все.

4. Добавить в самый конец файла php.ini 2 строки:

zend_extension="/usr/local/lib/Zend/ZendOptimizer.so"

zend_optimizer.optimization_level=15

5. Перегрузить апач. Все должно работать. Если работает - смотреть phpinfo(), где должны быть надписи:

This program makes use of the Zend scripting language engine:

Zend Engine v1.0.4, Copyright (c) 1998-2000 Zend Technologies

with Zend Optimizer v1.1.0, Copyright (c) 1998-2000, by Zend Technologies

или похожие на эти, разница только может быть в версиях. Если все ОК - замечательно, идем и кодируем: "zendenc файл.исх файл.кон", причем имя у них должно быть обязательно разное. Есть скрипт encode.sh, который копируется в корень проекта, настраиваются пути к исходной и конечной директории, путь вызова к zendenc, и все. Скрипт запускается и после некоторого(у кого какой проект) времени в конечной директории создается копия всех без исключения файлов, только вот файлы с расширениями php, php3, phps, и еще там можно настроить, будут в закодированном виде. Усе. Исходники можно прибивать, либо наоборот не прибивать, а тащить к хостеру закодированный проект, и исходник хранить в сухом прохладном месте до следующей правки.

Проблемы: в принципе быть не должно, но если возникли, то надо перепроверить все: основная глюка ловится из-за несоответствия версии PHP. Внимательней читайте phpinfo(), логи ошибок апача, они - рулез! Самое плохое - это когда при рестарте апача говорится, что не могу найти библиотеку libm.so.5. Я решал проблему так: у меня была библиотека libm.so.6, находилась в /lib и была симлинком к libm-2.1.1.so. Берем и создаем новый симлинк к libm-2.1.1.so под именем libm.so.5 в /lib.

Вот, собственно, и все.



Содержание раздела