Установка zend optimizer/zend guard на unix/linux

Установка на Debian 5.0

Установка производится аналогично установке на CentOS Linux Необходимо определить версию PHP

# php -v
PHP 5.2.6-1+lenny3 with Suhosin-Patch 0.9.6.2 (cli) (built: Apr 26 2009 22:16:23)
Copyright (c) 1997-2008 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies

В Debian Linux расположение файлов конфигурации различно, так, например, для PHP4 в пути соответственно будет php4

Скопируйте модуль в папку к модулям PHP

# cp ZendOptimizer-3.3.9-linux-glibc23-i386/data/5_2_x_comp/ZendOptimizer.so /usr/lib/php5/

Debian Linux имеет различные файлы конфигурации для разных режимов работы PHP. В нашем случае эти файлы имеют имена.

/etc/php5/apache2/php.ini
/etc/php5/cgi/php.ini
/etc/php5/cli/php.ini

Чтобы не добавлять строку zend_extension во все файлы, можно создать один файл

/etc/php5/conf.d/zend.ini

и прописать в него строку

zend_extension=/usr/lib/php5/ZendOptimizer.so

после чего необходимо перезапустить web-сервер:

# /etc/init.d/apache2 restart

Установка завершена, можно перейти к проверке работы.

Запуск демонов:

Запустить zabbix_server на стороне сервера:

# /usr/local/zabbix22/sbin/zabbix_server

Запустите zabbix_agentd на всех наблюдаемых машинах:

# /usr/local/zabbix22/sbin/zabbix_agentd

Если Вы устанавливали Zabbix прокси, то стартаните тоже zabbix_proxy:

# /usr/local/zabbix22/sbin/zabbix_proxy

Проверочка:

# sockstat | grep zabbix

Установка Zabbix из исходников в FreeBSD ЗАВЕРШЕНА! Сейчас установим веб интерфейс ( удобный способ работать с заббиксом):
Все нужные для этого компоненты находятся в папке с сорцами у меня они лежат в /usr/local/src/zabbix/zabbix-2.2.2/frontends/php/ но перед тем как скопировать их, я создам папку и скопирую их туда:

# mkdir /home/captain/www/zabbix
# cp -a . /home/captain/www/zabbix

Теперь можно приступать к установке для этого перейдите по пути :http://your_IP/zabbix/setup.php а, у меня:
ПС: если не помните какой ИП, то смотрите какой ИП указывали в апаче в конфиге httpd.conf в директиве: ServerName.http://192.168.244.133/zabbix/setup.php

Увидите следующее:

zabbix-2.2 установка из исходников для freeBSD

После чего жмем «Next». После чего увидите требованию к сервису и если у Вас все хорошо, увидите следующее:

zabbix-2.2-install

А если требование не выполнены, то увидите нечто такое как было у меня:

zabbix-2.2-install-step2

Я нашел требования которые должны удовлетворить наш сервис, посмотреть и ознакомится можно на этой картинке:

zabbix-2.2-install-step2(3)

Если все это выполнили и работает, жмем «Next» и увидим следующий скрин, на нем нужно ввести БД (которую уже создали и юзера с паролем):

zabbix-2.2-install-step3

После того как ввели данные жмем как всегда на «некст» и видим следующий скрин на котором Вы должны ввести некоторую информацию( Host, Port, Name):

zabbix-2.2-install-step4

Нажимаем «Next» и видим пред завершение нашей настройки «Посмотрим результаты настроек»:

zabbix-2.2-install-step5

После чего качаем файл конфигурации и кидаем его в папку conf/ — как видно по скрину:

zabbix-2.2-install-step6

На этом наша настройка завершена — поглядим последний скриншот:

zabbix-2.2-install-step7

Завершающим этапом будет ввод логина и пароля на веб интерфейс zabbix. По умолчанию юзер- Admin, а его пасс- zabbix.

zabbix-2.2-install-step8

Веб-интерфейс Zabbix готов! Установка Zabbix из исходников в FreeBSD завершена, по этому если есть вопросы и пожелания пишите мне в комментарии, я отвечу по мере возможности и смогу помочь. Спасибо.

Загрузка пакета Zend Optimizer

Зайдите на сервер по SSH и выполните команду:

Для 32-разрядных операционных систем (архитектура i386/i686)

Для 64-битной архитектуры (x86_64/amd64)

Определить архитектуру и операционную систему, которая установлена у вас на сервере, можно выполнив команду uname -a и посмотрев файл /etc/redhat-release (для CentOS) или /etc/debian_version (для Debian соответственно)

# uname -a
Linux example.com 2.6.18-128.2.1.el5.028stab064.8ent #1 SMP Sat Oct 31 11:32:49 MSK 2009 i686 i686 i386 GNU/Linux 
# cat /etc/redhat-release
CentOS release 5.4 (Final)

В данном случае на сервере установлена операционная система CentOS 5.4 с архитектурой i386

Установка Zend Guard

Как и в случае с  Zend Optimizer, первым делом что нужно сделать, так это скачать нужный Zend Guard для конкретной версии ПХП. Я приведу все допустимые на данный момент поддерживаемые версии Zend Guard. Вы можете скачать сами или использовать мои готовые ссылки.

ZendGuardLoader (PHP 5.3).

32-x бит ОС:

# wget http://downloads.zend.com/guard/5.5.0/ZendGuardLoader-php-5.3-linux-glibc23-i386.tar.gz

64-x бит ОС:

# wget http://downloads.zend.com/guard/5.5.0/ZendGuardLoader-php-5.3-linux-glibc23-x86_64.tar.gz

ZendGuardLoader (PHP 5.4).

32-x бит ОС:

# wget http://downloads.zend.com/guard/6.0.0/ZendGuardLoader-70429-PHP-5.4-linux-glibc23-i386.tar.gz

64-x бит ОС:

# wget http://downloads.zend.com/guard/6.0.0/ZendGuardLoader-70429-PHP-5.4-linux-glibc23-x86_64.tar.gz

ZendGuardLoader (PHP 5.5).

32-x бит ОС:

# wget http://downloads.zend.com/guard/7.0.0/zend-loader-php5.5-linux-i386.tar.gz

64-x бит ОС:

# wget http://downloads.zend.com/guard/7.0.0/zend-loader-php5.5-linux-x86_64.tar.gz

ZendGuardLoader (PHP 5.6).

32-x бит ОС:

# wget http://downloads.zend.com/guard/7.0.0/zend-loader-php5.6-linux-i386.tar.gz

64-x бит ОС:

# wget http://downloads.zend.com/guard/7.0.0/zend-loader-php5.6-linux-x86_64.tar.gz

Установка Zend Guard на CentOS.

Пример, на сервере (CentOS x64-бит)имеется PHP 5.3.  Распаковываем нужный архив и выставляем правильные права (т.к в самом архиве права на файлы — 777 и это не безопасно):

# tar xzvf ZendGuardLoader-php-5.3-linux-glibc23-x86_64.tar.gz -C /usr/lib64/php/
# chmod -R 755 /usr/lib64/php/ZendGuardLoader-php-5.3-linux-glibc23-x86_64/

Добавляем модуль в загрузку:

# echo 'zend_extension=/usr/lib64/php/ZendGuardLoader-php-5.3-linux-glibc23-x86_64/php-5.3.x/ZendGuardLoader.so' >> /etc/php.d/zend.ini

Проверяем:

# php -m

Ребутим apache:

# /etc/init.d/httpd restart

Установка Zend Guard на Debian/Ubuntu.

Пример, на сервере (Debian x64-бит)имеется PHP 5.3.  Распаковываем нужный архив и выставляем правильные права (т.к в самом архиве права на файлы — 777 и это не безопасно):

# tar xzvf ZendGuardLoader-php-5.3-linux-glibc23-x86_64.tar.gz -C /usr/lib/php5/
# chmod -R 755 /usr/lib/php5/ZendGuardLoader-php-5.3-linux-glibc23-i386/
# echo 'zend_extension=/usr/local/ZendGuardLoader-php-5.3-linux-glibc23-i386/php-5.3.x/ZendGuardLoader.so' > /etc/php5/conf.d/zend.ini

Ребутим apache:

# /etc/init.d/apache2 restart

Проверяем работу:

# php -m |grep Zend

или

# php -v

Все! Установка Zend Optimizer/Zend Guard на Unix/Linux завершена.

Установка Zend Optimizer

Первое что нужно сделать — загрузить нужный пакет. Я уже подготовил данные ссылки и вы можете их использовать.

32-бит OS (i386 или i686):

64-бит ОС (x86_64 или amd64):

Если не знаете свою архитектуру вашей ОС, которая находится на сервере, то ее можно увидеть посмотрев файл /etc/redhat-release — это для RedHat’s или /etc/debian_version — это для Debian.

и смотрим релиз:

Рассмотрим пример, у меня на сервере установлен CentOS 6.6 с архитектурой i386 (32-бит) и я на этом примере, покажу как можно установить Zend Optimizer.

Установка Zend Optimizer на FreeBSD

Установка Zend Optimizer на CentOS/RedHat/Fedora.

Вверху, я приводил ссылки на скачивания Zend Optimizer и теперь нужно его распаковать:

Смотрим установленную версию PHP на сервере:

У меня — установлена PHP 5.3. Сейчас необходимо  скопировать нужную библиотеку (модуль) для работы с данной утилитой и положить, например в:

После того как скопировали нужный модуль, его нужно прописать в конфиге PHP  и необходимо прописать в данный файл строку для загрузки модуля:

Ре-старт apache:

Вот и вся установка, а работает ли данный модуль на сервере или нет, можно выполнив:

Установка Zend Optimizer на Debian/Ubuntu.

Установка для Debian’s выполняется по такому же принципу что и для CentOS/RedHat/Fedora. Нужно узнать версию установленного PHP на сервере:

Допустим, у меня на этом сервере установлен PHP 5.3 (как и в примере выше). В Debian’s расположение конфигурационных файлов различно взависимо от версии самого ПХП (например, если на сервере установлен PHP4 то путь /usr/lib/php4 или /usr/lib64/php4). И так, копируем нужный нам модуль в директорию к остальным модулям PHP (можно использовать любое место для хранения, но лучше складывать все в одно место дабы не запутаться в дальнейшем):

В Debian’s  имеются разные конфиги для различных режимов PHP:

Для более удобного варианта, как обычно для каждого подключаемого модуля, создается отдельный конфигурационный файл (можно прописать его в сам php.ini):

Прописываем:

Ре-старт web-сервера:

Теперь, стоит проверить работает ли все корректно, а выполнить это несколькими способами:

Убеждаемся что все хорошо работает. Можно посмотреть инфу о PHP следующим способом:

Или, еще как один вариант — это создать php файл с функцией php_info:

Все, установка завершена. Если установлен PHP выше 5.3, то Zend Optimizer уже не поддерживает данные версии и нужно устанавливать Zend Guard. Сейчас я расскажу как это можно сделать на готовых примеров

Настройка виртуального хоста

Для более подробного ознакомления с созданием виртуального хоста рекомендую ознакомиться с статьёй «Настройка виртуального хоста в WAMP»

Для настройки виртуального хоста выполните следующие шаги:

  1. Откройте конфигурационный файл Apache httpd.conf.
  2. Уберите комментарий со строки со следующим содержанием: Include conf/extra/httpd-vhosts.conf
  3. Если вы находитесь в каталоге conf, перейдите в каталог extra и откройте файл httpd-vhosts.conf
  4. Внесите в файл httpd-vhosts.conf следующие строки и сохраните файл:
<VirtualHost *:80>
   DocumentRoot "C:/wamp/www/zfdemo/public"
   ServerName zfdemo.web
   SetEnv APPLICATION_ENV development    
   <Directory "C:/wamp/www/zfdemo/public">
       Options Indexes MultiViews FollowSymLinks
       AllowOverride All
       Order allow,deny
       Allow from all
   </Directory>
</VirtualHost>

Отправьтесь в c\windows\system32\drivers\etc\hosts или /etc/hosts если у вас Linux и внесите строки:

127.0.0.1 zfdemo.web
127.0.0.1 www.zfdemo.web

Если вы не увидите следующей картинки, то значит, что что-то не так с путями или правами:

Создание Actions

Откройте консоль или терминал и пройдите в папку, где содержится ваш сайт (Обязательно именно в эту папку). В нашем случае это C:\wamp\www\zfdemo. Набирайте команды:

zf create action add index
zf create action edit index
zf create action delete index

Данные записи дословно переводятся так: Zend Framework, пожалуйста создай action с именем add в контроллере index и т.д. :) Помимо добавления записей в IndexController.php Zend Tool так же создаст для вас необходимые view каталоги и файлы. Можете убедиться в этом сами. Теперь вы можете обращаться к этим страницам по адресам: www.zfdemo.web/index/add, www.zfdemo.web/index/edit, www.zfdemo.web/index/delete

Если вы всё сделали правильно, то теперь у вас должен быть настроен Zend проект к реализации которого мы вернёмся в следующем уроке.

На этом я пожалуй закончу наш урок-знакомство. Настраивайте Zend Framework и всё необходимое для его работы

Спасибо за внимание

Установка на Debian 5.0-6.0

После загрузки архива с ZendOptimizer необходимо его распаковать следующей командой:

# tar xzvf ZendOptimizer-3.3.9-linux-glibc23-i386.tar.gz

Установка производится аналогично установке на CentOS Linux Необходимо определить версию PHP

# php -v
PHP 5.2.6-1+lenny3 with Suhosin-Patch 0.9.6.2 (cli) (built: Apr 26 2009 22:16:23)
Copyright (c) 1997-2008 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies

В Debian Linux расположение файлов конфигурации различно, так например, для PHP4 в пути соответственно будет php4

Скопируйте модуль в папку к модулям PHP

# cp ZendOptimizer-3.3.9-linux-glibc23-i386/data/5_2_x_comp/ZendOptimizer.so /usr/lib/php5/

Debian Linux имеет различные файлы конфигурации для разных режимов работы PHP. В нашем случае эти файлы имеют имена.

/etc/php5/apache2/php.ini
/etc/php5/cgi/php.ini
/etc/php5/cli/php.ini

Чтобы не добавлять строку zend_extension во все файлы можно создать один файл

/etc/php5/conf.d/zend.ini

и прописать в него строку

zend_extension=/usr/lib/php5/ZendOptimizer.so

после чего необходимо перезапустить web-сервер:

# /etc/init.d/apache2 restart

Установка завершена, можно перейти к проверке работы.

Установка Zend Optimizer

Первое что нужно сделать — загрузить нужный пакет. Я уже подготовил данные ссылки и вы можете их использовать.

32-бит OS (i386 или i686):

# wget http://downloads.zend.com/optimizer/3.3.9/ZendOptimizer-3.3.9-linux-glibc23-i386.tar.gz

64-бит ОС (x86_64 или amd64):

# wget http://downloads.zend.com/optimizer/3.3.9/ZendOptimizer-3.3.9-linux-glibc23-x86_64.tar.gz

Если не знаете свою архитектуру вашей ОС, которая находится на сервере, то ее можно увидеть посмотрев файл /etc/redhat-release — это для RedHat’s или /etc/debian_version — это для Debian.

# uname -a

и смотрим релиз:

# cat /etc/redhat-release

Рассмотрим пример, у меня на сервере установлен CentOS 6.6 с архитектурой i386 (32-бит) и я на этом примере, покажу как можно установить Zend Optimizer.

Установка Zend Optimizer на CentOS/RedHat/Fedora.

Вверху, я приводил ссылки на скачивания Zend Optimizer и теперь нужно его распаковать:

# tar xzvf ZendOptimizer-3.3.9-linux-glibc23-i386.tar.gz

Смотрим установленную версию PHP на сервере:

# php -v

У меня — установлена PHP 5.3. Сейчас необходимо  скопировать нужную библиотеку (модуль) для работы с данной утилитой и положить, например в:

# cp ZendOptimizer-3.3.9-linux-glibc23-i386/data/5_3_x_comp/ZendOptimizer.so /usr/lib/php/modules/

После того как скопировали нужный модуль, его нужно прописать в конфиге PHP  и необходимо прописать в данный файл строку для загрузки модуля:

# vim /etc/php.ini

zend_extension=/usr/lib/php/modules/ZendOptimizer.so

Ре-старт apache:

# service httpd restart

Вот и вся установка, а работает ли данный модуль на сервере или нет, можно выполнив:

# php -i | grep Zend

Установка Zend Optimizer на Debian/Ubuntu.

Установка для Debian’s выполняется по такому же принципу что и для CentOS/RedHat/Fedora. Нужно узнать версию установленного PHP на сервере:

# php -v

Допустим, у меня на этом сервере установлен PHP 5.3 (как и в примере выше). В Debian’s расположение конфигурационных файлов различно взависимо от версии самого ПХП (например, если на сервере установлен PHP4 то путь /usr/lib/php4 или /usr/lib64/php4). И так, копируем нужный нам модуль в директорию к остальным модулям PHP (можно использовать любое место для хранения, но лучше складывать все в одно место дабы не запутаться в дальнейшем):

# cp ZendOptimizer-3.3.9-linux-glibc23-i386/data/5_3_x_comp/ZendOptimizer.so /usr/lib/php5/

В Debian’s  имеются разные конфиги для различных режимов PHP:

/etc/php5/apache2/php.ini
/etc/php5/cgi/php.ini
/etc/php5/cli/php.ini

Для более удобного варианта, как обычно для каждого подключаемого модуля, создается отдельный конфигурационный файл (можно прописать его в сам php.ini):

# vim /etc/php5/conf.d/zend.ini

Прописываем:

zend_extension=/usr/lib/php5/ZendOptimizer.so

Ре-старт web-сервера:

# /etc/init.d/apache2 restart

Теперь, стоит проверить работает ли все корректно, а выполнить это несколькими способами:

# php -m

Убеждаемся что все хорошо работает. Можно посмотреть инфу о PHP следующим способом:

# php -i | grep Zend

Или, еще как один вариант — это создать php файл с функцией php_info:

<?
phpinfo();
?>

Все, установка завершена. Если установлен PHP выше 5.3, то Zend Optimizer уже не поддерживает данные версии и нужно устанавливать Zend Guard. Сейчас я расскажу как это можно сделать на готовых примеров

Знакомимся с Zend_Acl

Теперь мы приступим к реализации ACL. Этот инструмент позволит нам определить, какая роль у текущего пользователя, и в зависимости от его привилегий, допускать его или нет в определённые части сайта. Нашего гостя мы допустим только до главной страницы, а также до формы авторизации и выхода из системы. Администратору позволим создавать, редактировать и удалять записи о любимых фильмах.

Распределение ролей Zend Framework традиционно реализуется в Bootstrap.php,который находится в каталоге application. Данный файл служит чем-то вроде отправного пункта для вашего приложения. Всю глобальную, инициализирующую функциональность следует помещать в этот файл. Для того чтобы метод в Bootstrap.php запускался автоматически, в его названии необходимо указать префикс _init. Добавьте следующий код в данный файл:

Теперь нам необходимо написать плагин, который будет осуществлять проверку роли пользователя. Почему плагин? Дело в том, что нам необходимо, чтобы проверка осуществлялась на каждой странице. Именно поэтому целесообразно создать плагин, который будет запускаться перед формированием страницы. Что-то типа традиционной проверки в начале файла.

Создайте каталог plugins в папке application и поместите туда файл AccessCheck.php. Содержимое данного файла будет таково:

<?php
class Application_Plugin_AccessCheck extends Zend_Controller_Plugin_Abstract
{
    private $_acl = null;
    private $_auth = null;
    
    /*
     * Инициализируем данные
     */
    public function __construct(Zend_Acl $acl, Zend_Auth $auth)
    {
        $this->_acl = $acl;
        $this->_auth = $auth;
    }
    
    public function preDispatch(Zend_Controller_Request_Abstract $request) {
        // получаем имя текущего ресурса
        $resource = $request->getControllerName();
        
        // получаем имя action
        $action = $request->getActionName();
        
        // получаем доступ к хранилищу данных Zend,
        // и достаём роль пользователя
        $identity = $this->_auth->getStorage()->read();
        
        // если в хранилище ничего нет, то значит мы имеем дело с гостем
        $role = !empty($identity->role) ? $identity->role : 'guest';
        
        // если пользователь не допущен до данного ресурса,
        // то отсылаем его на страницу авторизации 
        if (!$this->_acl->isAllowed($role, $resource, $action)) {
            $request->setControllerName('auth')->setActionName('index');
        }
    }
}

Нам необходимо, чтобы данный код запускался ещё тогда, когда MVC ещё не сольются воедино – поэтому мы используем метод preDispatch() с тем числом аргументов, которое мы передали при регистрации плагина.

Для проверки доступа пользователя к текущему ресурсу, мы получаем имя контроллера и действия (ресурсов к которым пытается подключиться пользователь); Затем мы извлекаем данные из хранилища и проверяем наличие роли у пользователя. Если у пользователя роли нет, то это значит, что мы никого не авторизовали и перед нами гость. В противном случае записываем в переменную $role роль пользователя и делаем проверку при помощи метода isAllowed(). Если пользователь с данной ролью не доступен до ресурса, то перенаправляем его на страницу авторизации.

Вот и всё. Просто и эффективно.

Надеюсь, вам понравилась серия наших уроков по самому мощному PHP фрэймворку – Zend Framework. Благодаря ему вы можете создавать крепкие и надёжные сайты, используя кучу готовых классов для большинства задач. Представьте, сколько вам понадобилось кода, чтобы реализовать подобное приложения с нуля…

Всего хорошего!

Народный способ установки Zend Optimizer

Шаг 1. Скачиваем архив (345кб).

рис.2 содержимое архива

Шаг 2. Поместите файл из архива ZendExtensionManager.dll и папку php-5.2.x в папку WebServers/usr/local/php5, которая находится на вашем ДенвереШаг 3. Прописываем изменения в файл php.ini, который находится в той же папке (WebServers/usr/local/php5).

рис.3 содержимое папки WebServers/usr/local/php5

В самом конце файла WebServers/usr/local/php5/php.ini прописываем строчки:

Шаг 4. Запускаем Денвер. Заходим в phpMyAdmin и смотрим информацию о РНР (если Вы не изменяли директории установки Денвер и его внутреннюю структуру вложенных папок, то можно просто ввести в адресную строку браузера —  http://localhost/Tests/PHP5/index.php5).

Практически в самом начале открывшейся страницы (под первой таблицей) мы видим появление двух нижних строк (выделено рамкой), сообщающих нам об успешном подключении нужных библиотек.

Это значит, что все установилось нормально и Zend Optimizer готов к труду и обороне во имя нашего благополучия. Чего Вам и желаю!

Как правильно установить Denver читайте — Установка денвера — создаем локальный хост на домашнем компьютере .

Проектируем приложение

Для демонстрации концепции Zend Framework продемонстрируем его работу на небольшом примере. Создадим картотеку любимых видео фильмов. Работу с базой, я продемонстрирую в следующем уроке, но для общего сведения структуру приведу сейчас. Для хранения данных нам потребуется следующая таблица:

id integer Not Null Primary key

title varchar(100) Not Null

director varchar(100) Not Null

Так же нам понадобятся следующие страницы:

Главная — на которой будет отображать список фильмов

Добавление записи —  страница, содержащая форму добавления нового фильма

Редактирование записи — страница редактирования фильма

Удаление записи — удаление фильма из БД

Пару слов о средах разработки

Теперь я бы хотел пояснить строку SetEnv APPLICATION_ENV development, которую мы вписали в наш виртуальный хост.

Среды разработки предназначены для того, чтобы организовать работу в команде или просто обеспечить удобную работу над созданием Zend приложения. Каким образом? Допустим у вас имеется хостинг, где есть база данных с названием hostdb, пользователем hostdbuser, и паролем hostdbuserpass. А на локальной машине у вас база homedb, пользователь hostdbuser и пароль hostdbuserpass. Для того чтобы Zend приложение понимало откуда брать данные автоматически когда оно запускается на локалке или на сервере необходимы среды разработки. По умолчанию в Zend Framework 3 среды. production, staging и development (хотя мы можем создавать и свои собственные). Если вы внимательно посмотрите в содержание application.ini то увидите записи следующего вида: . Это означает, что среда разработки development наследуются от среды разработки production (которая в каждом Zend проекте запускается по умолчанию). Значит, если production запускается по умолчанию, то целесообразно разместить данные для подключени к БД от сервера именно в эту секцию, а от домашнего в секцию development. Что при этом происходит:

Вариант 1. На локальном хосте

  1. Zend приложение загружается, ищет среду разработки.
  2. Виртуальныей хост, который мы настроили говорит, что среда разработки development.
  3. Zend подгружает секцию development, где находятся данные для работы с локальной БД

Вариант 2. На хостинге

  1. Zend приложение загружается, ищет среду разработки — не находит.
  2. Zend по умолчанию определяет среду разработки production.
  3. Zend подгружает секцию production, где находятся данные для работы с БД на хостинге.

Надеюсь, теперь вам более ясно что такое среды разработки.

5 последних уроков рубрики «PHP»

Когда речь идёт о безопасности веб-сайта, то фраза «фильтруйте всё, экранируйте всё» всегда будет актуальна. Сегодня поговорим о фильтрации данных.

Обеспечение безопасности веб-сайта — это не только защита от SQL инъекций, но и протекция от межсайтового скриптинга (XSS), межсайтовой подделки запросов (CSRF) и от других видов атак

В частности, вам нужно очень осторожно подходить к формированию HTML, CSS и JavaScript кода.

Expressive 2 поддерживает возможность подключения других ZF компонент по специальной схеме. Не всем нравится данное решение

В этой статье мы расскажем как улучшили процесс подключение нескольких модулей.

Предположим, что вам необходимо отправить какую-то информацию в Google Analytics из серверного скрипта. Как это сделать. Ответ в этой заметке.

Подборка PHP песочниц
Подборка из нескольких видов PHP песочниц. На некоторых вы в режиме online сможете потестить свой код, но есть так же решения, которые можно внедрить на свой сайт.

Загрузка пакета Zend Optimizer

Зайдите на сервер по SSH и выполните команду:

Для 32-разрядных операционных систем (архитетура i386/i686)

Для 64-битной архитектуры (x86_64/amd64)

Определить архитектуру и операционную систему, которая установлена у вас на сервере, можно выполнив команду uname -a и посмотрев файл /etc/redhat-release (для CentOS) или /etc/debian_version (для Debian соответственно)

# uname -a
Linux example.com 2.6.18-128.2.1.el5.028stab064.8ent #1 SMP Sat Oct 31 11:32:49 MSK 2009 i686 i686 i386 GNU/Linux 
# cat /etc/redhat-release
CentOS release 5.4 (Final)

В данном случае на сервере установлена операционная система CentOS 5.4 с архитектурой i386

Классический способ установки Zend Optimizer

рис.1 процесс установки приложения Zend Optimizer

1. Мастер установки проверит конфигурацию компьютера и наличие уже установленных ранее версий Zend Optimizer-а.

2. Затем, после приветствия и Вашего соглашения с условиями лицензионного соглашения  вам будет предложено выбрать папку, в которую следует установить Zend Optimizer (используйте кнопку «browse…».).

По умолчанию  Zend Optimizer ставится в папку C:Program FilesZendZendOptimizer-3.x.x 3. Выбрав, нажимаем кнопку «Next» и переходим к Выбору веб-сервера  с которым будет работать Zend Optimizer, это может быть веб-сервер IIS, Apache 1.x, Apache 2.x и т.д.

Достаточно указать версию установленного на денвере Apache, и установщик автоматически настроит ваш  веб-сервер на работу с Zend Optimizer-ом. 4. Выбираем (указываем) местоположение файла php.ini. При помощи диалога кнопки «browse…» указываем установщику правильный путь к папке в которой данный файл расположен.

5. Записав в файл конфигурации РНР свои настройки, нам предложат выбрать местоположение веб-сервера. С помощью знакомой нам кнопки «browse» указываем папку с установленным ранее Денвером.

6. Подтверждаем правильность собранной информации и переходим непосредственно к установке Zend Optimizer-а. 7. Ждем окно — «Завершение установки«. Если вы его увидели, значит установка Zend Optimizer прошла успешно.

8. Жмем кнопку «Finish» . Все.

Так выглядит классический способ установки модуля Zend Optimizer, но есть еще один способ установки Zend-a, более простой и удобный:

Давайте экспериментировать:

Зайдите в папку application/controllers. Внутри этой папки должно быть 2 файла. IndexController и ErrorController. Эти контроллеры были сформированы когда вы создавали проект при помощи Zend Tool. Откройте IndexController.

<?php

class IndexController extends Zend_Controller_Action
{
    public function init()
    {
        /* Initialize action controller here */
    }

    public function indexAction()
    {
        // action body
    }
}

Мы видим, что в IndexController есть 2 метода: _init() и indexAction. Функция init вызывается каждый раз при запуске контроллера. indexAction() это функция представляющая из себя страницу сайта. Чтобы убедиться в этом внесите в функцию indexAction следующую строку:

echo "Я в IndexController, в indexAction!!!";

Чтобы достучаться до этого action пройдите по адресу www.zfdemo.web/index/index. Данная запись означает, что мы обращаемся к контроллеру index и действию index. Но помимо нашей строки вы видите ещё какой-то материал. Это происходит потому что у каждого action есть свой view (или представление).

Пройдите в папку application\views\scripts\index и откройте файл index.phtml

<style>
    a:link,
    a:visited
    {
        color: #0398CA;
    }

    span#zf-name
    {
        color: #91BE3F;
    }

    div#welcome
    {
        color: #FFFFFF;
        background-image: url(https://framework.zend.com/images/bkg_header.jpg);
        width:  600px;
        height: 400px;
        border: 2px solid #444444;
        overflow: hidden;
        text-align: center;
    }

    div#more-information
    {
        background-image: url(https://framework.zend.com/images/bkg_body-bottom.gif);
        height: 100%;
    }
</style>
<div id="welcome">
    <h1>Welcome to the <span id="zf-name">Zend Framework!</span></h1>

    <h3>This is your project's main page</h3>

    <div id="more-information">
        <p><img src="https://framework.zend.com/images/PoweredBy_ZF_4LightBG.png" /></p>
        <p>
            Helpful Links: <br />
            <a href="http://framework.zend.com/">Zend Framework Website</a> |
            <a href="http://framework.zend.com/manual/en/">Zend Framework Manual</a>
        </p>
    </div>
</div>

В этом файле находится всё то, что вы видите на странице. Удалите всё содержимое файла index.phtml и перезагрузите страницу www.zfdemo.web/index/index или просто www.zfdemo.web/index/ т.к. indexAction запускается по умолчанию. Теперь на странице должно быть только наше сообщение “Я в IndexController, в indexAction!!!”

Установка Zend Framework и Zend Tool

1. Скачиваем последнюю версию Zend Framework

  • Скачайте последнюю версию пакета Zend Framework 1.11.X Full;
  • Извлекаем из архива всё содержимое;

2. Переносим содержимое архива

  • Копируем разархивированную папку в каталог C:\wamp\bin и переименовываем её например в zf;
  • Теперь содержимое фрэймворка можно найти по адресу C:\wamp\bin\zf. Если вы всё сделали правильно, то по данному адресу у вас должны располагаться такие каталоги: bin, demos, externals, extras, librarz и т.д.

3. Конфигурируем Zend Tool

  • Нажмите правый клик на иконке «Компьютер» в панели пуск (Windows 7) и выберите пункт «Свойства».
  • В левой части панели выберите пункт «Дополнительны параметры системы».
  • В открывшемся окне нажмите кнопку «переменные среды».
  • Далее в списке системные переменные, ищем переменную Path и делаем на ней двойной клик. Перед вами должно открыться следующее окно.

  • Нажимаем на содержимое поля «значение переменной», перемещаемся в конец строки;
  • Ставим точку с запятой «;» (без кавычек);
  • Далее вписываем адрес «C:\wamp\bin\zf\bin» (без кавычек);
  • Жмём OK;
  • После этого не помешает перезагрузить компьютер, чтобы все изменения нормально встали.

4. Проверка работы Zend Tool

  • Откройте командную строку. Нажмите клавиши Windows->R. В открывшемся окне наберите команду cmd;
  • В командой строке наберите zf и нажмите Enter. После этого перед вами появится список всевозможных команд, некоторые из которых мы рассмотрим в данном уроке. Если этого не произошло, значить вы неверно сконфигурировали Zend Tool.

5. Прописываем Zend Framework в php.ini

Вот и всё. Мы только что установили Zend Framework, сконфигурировали Zend Tool и готовы приступить к созданию нашего нового проекта.

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Мой редактор ОС
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: