Установка на 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»
Для настройки виртуального хоста выполните следующие шаги:
- Откройте конфигурационный файл Apache httpd.conf.
- Уберите комментарий со строки со следующим содержанием: Include conf/extra/httpd-vhosts.conf
- Если вы находитесь в каталоге conf, перейдите в каталог extra и откройте файл httpd-vhosts.conf
- Внесите в файл 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. На локальном хосте
- Zend приложение загружается, ищет среду разработки.
- Виртуальныей хост, который мы настроили говорит, что среда разработки development.
- Zend подгружает секцию development, где находятся данные для работы с локальной БД
Вариант 2. На хостинге
- Zend приложение загружается, ищет среду разработки — не находит.
- Zend по умолчанию определяет среду разработки production.
- 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 и готовы приступить к созданию нашего нового проекта.