# sudo add-apt-repository ppa:ondrej/php5-oldstable # aptitude update # sudo apt-get install php5 libapache2-mod-php5ОСТРОЖНО! в репозитории ppa:ondrej/php5-oldstable - 5.4.Х а в ppa:ondrej/php5 - 5.5.Х (но для 5.5 не работает sphinx.so) Навеяно этим.
Показаны сообщения с ярлыком php. Показать все сообщения
Показаны сообщения с ярлыком php. Показать все сообщения
пятница, 20 сентября 2013 г.
Обновляем версию PHP c 5.3 до 5.4 (last stable)
В своем work flow мы используем Ubuntu 12.04. По-умолчанию при развертывании рабочего места на это версии Ubuntu ставится PHP 5.3.10. Здесь я расскажу как безболезненно обновиться до 5.4.19 (на самом деле до любой стабильной 5.4, просто на текущий момент это 19)
Итак, есть замечательный Ondrej :) которы собирает установочные пакеты (ну или как это называется) для Ubuntu. Нужно всего лишь добавить с свою систему его источник, и обновиться.
четверг, 6 декабря 2012 г.
воскресенье, 18 ноября 2012 г.
Битовые операции в PHP на примерах
Навеяно статьей об обработке критических ошибок в PHP.
Обратил внимание, что несмотря на то, что коды ошибок в PHP специально
заточены под битовые операции, тем не менее, что в примерах статьи, что в
комментариях, для проверки кодов ошибок используются обычные операторы
сравнения.
суббота, 10 ноября 2012 г.
Не все базы одинаково полезны
Сергей Аверин, Руководитель проекта десктопных приложений компании Badoo, выступил на High Performance Conference 9 августа с докладом: «Не все базы одинаково полезны».
Некоторые тезисы:
Некоторые тезисы:
- оставайтесь на MySQL, не поддавайтесь моде на NoSQL;
- железо — дешевле людей. На старте масштабируйтесь железом и типовым открытым софтом (и его настройками);
- заурядному стартапу нужно минимум полгода, чтоб вылезти из ресурсов одного сервера;
- думайте про консистентность заранее, на уровне архитектуры, а то потом сами её выпилите;
- для веб-сервисов, не являющихся биллингами или процессингами, не нужна высокая связность и синхронность;
- поиск на MySQL FULLTEXT — обречён. Используйте Sphinx или иные специализированные движки;
- главное в надёжности — железо и резервирование по нему. Badoo использует Percona, а NoSQL — сильно распиарен.
воскресенье, 4 ноября 2012 г.
воскресенье, 28 октября 2012 г.
Создание легкого REST API средствами ZF2
Данный доклад представляет собой набор практик по проектированию, созданию и тестированию легковесных API, построенных на базе компонентов ZF2.
Проектирование:
Создание:
Тестирование:
Проектирование:
- Определение проблемы
- Принципы и руководства по построению API
- Выбор протокола: SOAP vs REST
- Выбор формата: XML vs JSON/JSONP
- Выбор каркаса: ZF2 vs микро-фреймворки
Создание:
- Создание серверных компонентов
- Создание клиентов (JS, PHP)
- Вопросы безопасности и авторизации
- Версионность API
Тестирование:
- Модульное тестирование веб-сервисов
- Функциональное тестирование веб-сервисов
- Нагрузочное и стресс тестирование веб-сервисов
четверг, 25 октября 2012 г.
Установка Pinba на Ubuntu
Pinba - это утилита мониторинга PHP, использующая MySQL для хранения результатов. Она позволит вам в реальном времени получать статистику по работающему приложению, при этом не замедляя само приложение.
воскресенье, 14 октября 2012 г.
Разработка консольных приложений с ZendFramework 2.0
Доклад Алексея Качаева на Zend Faramework Day 2011.
- Что такое и зачем нужны веб-разработчику консольные приложения.
- Разбор типичных кейсов.
- Консольное приложение в разрезе:
- stdin, stdout, stderr;
- входящие параметры и их обработка с Zend\Console\Getopt;
- форматирование вывода с использованием Zend\Text и ResponseDecorator;
- интерактивные (диалоговые) интерфейсы.
- Встраиваем консольные приложения в инфраструктуру проекта:
- архитектура и возможности Zend\Tool\Framework;
- "единая точка входа" и роутинг команд;
- Manifest, Provider, Metadata;
- Request\Response;
- HelpSystem.
- Продвинуты подходы и приемы:
- немного unix way: работа с pipe-ами и перенаправлением вывода;
- динамический output на примере progress bar;
- нативная и внешняя демонизация процессов;
суббота, 13 октября 2012 г.
Кирилл Мокевнин: Хранение, обработка и отдача статики с использованием \Zend\File. Опыт социальной сети starlook.ru
Доклад Кирилла Мокевнина на ZFConf2010.
Кирилл рассматривает разные возможности отдачи медиа на сайте. Озвучивает решения загрузки, хранении, ресайза, конфигурирования, взаимодействия серверов обработки, кеширования медиа.
суббота, 1 января 2011 г.
Описание окружения
Вот уже c 2011 года мы работаем на Ubuntu (начинали с 10.04, сейчас уже 14.04) - чему безумно рады.
В качестве IDE - PhpStorm.
Пишем на PHP (PHP 5.5) + Zend Framework v1/v2.
СУВ: git + gitosis (хостимся на своем сервере).
БД: MySQL, PostgreSQL redis.
Инструменты: memcache, PhpUnit, Codeception, Symfony, xDebug, APC, pivotaltracker.
Недавно отказались от eAccelerator (глючил с open_basedir) на офф. сайте есть патч, но это не серьезно (не серьезно, когда продашкен упал спустя 2 недели без видимых причин).
Стандарты кодирования от Zend
nginx + php-fpm
MySQL 5.5 (or more stable)
memcached (php-memcache) (any stable)
phpMyAdmin (any stable)
git (any stable)
APC (any stable)
PHP 5.5 (or more stable) + pcntl + pcre + mb + mcrypt + gd + curl
apache2 + mod_php
MySQL 5.5 (or more stable)
memcached (php-memcache) (any stable)
phpMyAdmin (any stable)
git (any stable)
APC (any stable)
xDebug (any stable)
PhpStorm (any stable)
SmartGit (free version!)
В качестве IDE - PhpStorm.
Пишем на PHP (PHP 5.5) + Zend Framework v1/v2.
СУВ: git + gitosis (хостимся на своем сервере).
БД: MySQL, PostgreSQL redis.
Инструменты: memcache, PhpUnit, Codeception, Symfony, xDebug, APC, pivotaltracker.
Недавно отказались от eAccelerator (глючил с open_basedir) на офф. сайте есть патч, но это не серьезно (не серьезно, когда продашкен упал спустя 2 недели без видимых причин).
Стандарты кодирования от Zend
Сервер
PHP 5.4 (or more stable) + pcntl + pcre + mb + mcrypt + gd + curlnginx + php-fpm
MySQL 5.5 (or more stable)
memcached (php-memcache) (any stable)
phpMyAdmin (any stable)
git (any stable)
APC (any stable)
Рабочее место
Ubuntu 14.04PHP 5.5 (or more stable) + pcntl + pcre + mb + mcrypt + gd + curl
apache2 + mod_php
MySQL 5.5 (or more stable)
memcached (php-memcache) (any stable)
phpMyAdmin (any stable)
git (any stable)
APC (any stable)
xDebug (any stable)
PhpStorm (any stable)
SmartGit (free version!)
Итак, настройка рабочего места программиста..
Подписаться на:
Сообщения (Atom)