«Масштабируемый DevOps» Александр КолесеньIT Share
Типичные подходы к развертыванию приложений: как правильные, так и неправильные, но повсеместно применяемые.
Как сделать так, чтобы развертывание не стало проблемой с линейным ростом количества поддерживаемых окружений.
Методы обновления проекта с нулевым временем простоя: когда это уместно и принципиально возможно.
«Масштабируемый DevOps» Александр КолесеньIT Share
Типичные подходы к развертыванию приложений: как правильные, так и неправильные, но повсеместно применяемые.
Как сделать так, чтобы развертывание не стало проблемой с линейным ростом количества поддерживаемых окружений.
Методы обновления проекта с нулевым временем простоя: когда это уместно и принципиально возможно.
Документация на тему архитектуры языка PHP скудна и разрозненна, несмотря на то что тема интересна многим. В моем докладе я постараюсь заполнить этот пробел и рассказать о модулях PHP: как они работают, зачем и как их пишут. В процессе мы рассмотрим опыт Badoo в этой сфере на примерах двух модулей. И еще напишем очень небольшой собственный модуль.
— Что такое модули PHP, как они работают
— Как начать писать свой модуль PHP
— Скелет модуля — Функции, классы, методы
— Разбор параметров функции
— Сборка модуля
— Подгрузка модуля
— Простой пример модуля из Badoo
— Сложный пример модуля из Badoo
Ігор Карпиленко — PHPStorm for drupal developerLEDC 2016
Розгляд та аналіз інфструментів PHPStorm для drupal розробника: QA tools, Xdebug, Issue Tracking System, Drush, інструменти для роботи з Vagrant, Docker і базами даних. Корисні плагіни.
Primul pas de gestionare server este optinerea informatiei necesare din sistem de operare. In aceasta prezentare se vorbeste despre instrumente de acces la informatie in SO WIndows, Linux.
2. Содержание
Установка интерпретатора языка PHP
Подключение интерпретатора PHP к Web серверу
Расширения интерпретатора языка PHP
Настройка интерпретатора языка PHP
Некоторые особенности PHP
◦ Работа из командной строки
◦ Встроенный web сервер
3. Установка интерпретатора языка PHP
Debian:
◦ apt-get update
◦ apt-get upgrade
◦ apt-get install php7.1-common libapache2-mod-php7.1
◦ # /etc/init.d/apache2 stop
◦ # /etc/init.d/apache2 start
Изначально интерпретатор устанавливается с основными модулями ядра. Для установки
дополнительных модулей также надо использовать команду apt-get.
◦ apt-get install php7.1-mysql php7.1-curl
5. Подключение интерпретатора PHP
к Web серверу
Для подключения PHP в качестве модуля Apache необходимо иметь соответствующий
модуль. Обычно он поставляется с интерпретатором PHP
Добавьте в конфигурационный файл Apache после группы подключения модулей
следующие строки:
◦ PhpIniDir "C:/php"
◦ LoadModule php7_module "C:/php/php7apache2_4.dll"
◦ AddHandler application/x-httpd-php .php
Найдите настройку использования модуля dir_module и добавьте файл по умолчанию
index.php:
◦ <IfModule dir_module>
◦ DirectoryIndex index.html, index.php
◦ </IfModule>
Также PHP можно подключать в качестве CGI модуля
6. Расширения интерпретатора языка
PHP
название назначение
php_curl Взаимодействие с удаленными серверами по различным протоколам
php_gd2 Обработка и генерация изображений
php_intl Поддержка интернационализации (транслитерация, кодировки и т.д.)
php_mbstring Поддержка многобайтных символов
php_mysqli Работа с DB MySQL
php_openssl Поддержка различных методов шифровки, дешифровки и других
криптографических операций
php_pdo_mysql Работа с DB MySQL через интерфейс PDO
php_pdo_sqlite Работа с DB sqlite через интерфейс PDO
php_sqlite3 Работа с DB sqlite3
7. Настройка интерпретатора языка PHP
Параметр Значение по
умолчанию
Комментарий
max_execution_time 30 Время выполнения скрипта в секундах.
max_input_time 60 Время получения входных данных в секундах
memory_limit 128M Максимальный объем памяти на скрипт.
error_reporting E_ALL Уровень ошибок
post_max_size 8M Максимальный размер запроса POST
default_charset "UTF-8" Кодировка по умолчанию
extension_dir "ext" Указание папки с модулями PHP
upload_max_filesize 64M Максимальный размер загружаемого файла
max_file_uploads 20 Максимальное количество загружаемых файлов через 1
запрос.
8. Настройка интерпретатора языка PHP
Параметр Значение по
умолчанию
Комментарий
default_socket_timeout 60 Время запроса через сокет в секундах
extension Подключение модуля PHP
session.cache_expire 180 Время жизни сессии в минутах
opcache.enable Включение кэширования
opcache.enable_cli Включение кэширования в командной строке
opcache.memory_cons
umption
Максивальный объем кэша
zend_extension Подключение Zend модуля PHP
9. Некоторые особенности PHP:
работа из командной строки
PHP можно использовать для написания консольных приложений. При работе с PHP в
командной строке некоторые его параметры переопределены, так как они теряют свой
смысл. Например:
◦ сообщения об ошибках идет без форматирования html;
◦ время выполнения скрипта не ограничено;
◦ нет поддержки GET и POST запросов;
◦ есть доступ к переменным $argc, $argv
И другие различия.
Запуск скрипта:
◦ php [-f] <имя файла>
◦ php –r <php код>
10. Некоторые особенности PHP:
встроенный web сервер
Интерпретатор языка PHP имеет встроенный Web сервер, предназначенный для помощи в
разработке. Он никоим образом не должен использоваться в общедоступных сетях.
Для запуска Web сервера PHP необходимо перейти в папку с сайтом и запустить php с
указанием ключа –S и имени хоста (и порта).
◦ cd www/my_site
◦ php -S localhost:8080
Можно запустить Web сервер с указанием корневого документа или директории:
◦ php -S localhost:808 -t /home/web/
Использование PHP Web сервера с удаленных машин:
◦ php –S 0.0.0.0:8000