Записи, отмеченные как php
Воскресенье, 6 Ноябрь. 2011
Давным-давно ещё натыкался на штуковину под названием Quercus в J2EE-сервере Resin. Сейчас решил попытаться на своём сервере сэкономить немножко памяти посредством её использования. Сервер – недорогой двухъядерный AMD x64 Athlon 5600+, ОС Debian, 4GB RAM. Дополнительно: ядро 2.6.32-5-amd64, java version "1.6.0_26", PHP 5.3.8-1~dotdeb.2 with Suhosin-Patch, nginx: nginx version: nginx/1.0.9. Congratulations! Quercus™ Pro 4.0.7 is compiling PHP pages. Have fun! MySQL держит 150 одновременных подключений, nginx – имеет 2 воркера по 1000 подключений каждый, а вот пул php-fpm – имеет всего лишь 50 воркеров (50 воркеров по 64 Мб съедают почти всю память системы, а ведь некоторым задачам в wordpress уже надо по 128 Мб, именно из-за этого я и посмотрел в сторону Quercus). jetty был запущен с ограничением в 1 Гбайт под heap. Мистическим образом для тестов ко мне попала standalone PRO версия Quercus (умеет компилировать PHP в сервлеты, за счёт чего работает быстрее). Версия эта была для 2х 8-ядерных процессоров, так что ресурсы сервера были задействованы по максимуму. Были взяты два пустых Wordpress’а, во избежание возможного кэширования запросы к ним выглядели как ?a=b. Первый работал на php-fpm из dotdeb, второй работал на ProQuercusServlet. Прогревание — было, несколько раз порефрешил страницу из браузера (в браузере без ?a=b). Работой по HTTP занимались с одной стороны — nginx, с другой стороны — jetty 7.4.2. Итак, что мы видим:
Продолжить чтение "Пробуем достичь сверхскорости: Quercus + Wordpress"
Среда, 8 Июнь. 2011
Дебианщики ЗОХАВАЛИ php5-fpm из experimental. Про это все, кто хотел, уже повозмущались, я теперь тоже повозмущаюсь (да, с задержкой — я ж не настоящий дебианщик). Решается проблема использованием репозитарий dotdeb.org.
Продолжить чтение "Дебиан и ёбаный стыд, или пропавший php5-fpm"
Понедельник, 14 Февраль. 2011
Около пары месяцев назад свет увидела IDEA X, десятая версия IDEA. Я, как обычно, довольно пристально следил за развитием любимой IDE: как у PHPStorm 2.0 (после, на мой взгляд, откровенно провального PHPStorm 1), так и полноценной IDEA X. У PHPStorm я без зазрения совести пользуюсь вечным trial, так как пользоваться честно купленной IDEA для редактирования PHP проектов неудобно: она и тормозит посильнее, и многообразие пунктов меню (которые все равно не работают при редактировании PHP файлов) мешается. А вот вышедшая IDEA X была для меня, мягко говоря, разочарованием. Во-первых, я не заметил никаких отличий от EAP, которыми пользовался. Постоянно мигающая красная лампочка, медленная и неотзывчивая работа. Быстрее стало только индексирование и запуск программы, а в целом производительность ухудшилась.
Продолжить чтение "IDEA 10, впечатления через 2 месяца после выхода"
Суббота, 29 Январь. 2011
Вниманию читателя предлагается небольшая статья по настройке виртуального сервера на CentOS. Сервер, правда, довольно-таки вменяемой конфигурации (2GB оперативки), что позволяет развернуть на нем, например, связку nginx в качестве фронтэнда + apache. Однако, на сервер надо еще будет поставить Glassfish (да-да, это такой Application Server для Java), поэтому двух веб-серверов вполне хватит. Будем подключать php прямо к nginx через fpm. На просторах интернетов полно инструкций, как собирать nginx из исходников и как собирать php из исходников. Но мы ж в корпоративном линуксе, мы так делать не будем. Помимо стандартных пакетов, будем использовать пакеты из репозитариев EPEL и CENTALT.
Продолжить чтение "CentOS, я сделаю из тебя человека! nginx + php на CentOS через yum"
Четверг, 6 Январь. 2011
В интернетах полно длинных, сложных и нерабочих скриптов для распаковки zip-архива на сервере. Эта штука часто востребована дорвейщиками при заливке дорвеев на сервер, иногда – при установке скриптов на сервер. Да и мало ли зачем может пригодиться распаковать zip-файл? Например, чтобы установить на свой сервер какую-нибудь CMS или блог. Решение есть, и оно состоит всего из 1 строки;). Итак, создайте файл, например, unz.php следующего содержания: <?php $z = new ZipArchive(); if ($z->open('arc.zip') === TRUE) { $z->extractTo('.'); echo "OK"; }?>
Предполагается, что файл называется arc.zip. Если этот способ не сработал, есть и другой способ, для другого класса PHP:
Продолжить чтение "Распаковать zip на сервере, готовый скрипт"
Суббота, 14 Август. 2010
И снова извечный вопрос выбора. В наше героическое время PHP-фреймворков – хоть жопой жуй. В планах реализация нового проекта (точнее, первый этап – реализация движка для нескольких новых проектов), соответственно в который раз встает вопрос выбора. Фреймворки рассматриваются с разных позиций, а именно: - Легкость создания нового проекта, чтения и поиска документации
- Продуманность объектной модели, возможность расширения
- Потребление памяти
- Скорость
- Роутинг
- Удобство настройки и отладки
Тесты производились на неком “Hello world”-проекте, типичном для MVC фрейморков. Проект включает в себя 1 контроллер, 1 модель, 1 представление, 1 роут. Модель загружается из базы средствами ORM. Поскольку во всех фреймворках скорость выполнения тестового проекта высока, для оценки использовались результаты apache benchmark (ab) на loopback-интерфейсе (127.0.0.1). Для тестов использовался VDS (1 Гб памяти, бёрст до 1.5 Гб). Процессор: по 666 Мгц от каждого из 4х ядер “старого” Xeon X3350. Настройки всех фреймворков “по умолчанию”. Для KO3 включен caching (это не кэширование запросов, это кэширование путей для автозагрузки классов. Ближайший аналог, наверное, prod режим в Symfony2). Для Symfony2 включен prod режим, отключен дебаг. Пост писался 5 июля 2010, но так и не увидел свет в день своего рождения. Публикую спустя месяц.
Продолжить чтение "PHP фреймворки: сравнение Yii, Kohana (KO3), CodeIgniter (CI), OnPHP, Symfony2"
Вторник, 8 Июнь. 2010
Если кажется, что Webmoney перестала работать – это вовсе не так. Дело в том, что истек срок действия сертификатов, которыми сервер подписывал свои ответы клиенту. Истекший сертификат не считается валидным, поэтому был выпущен новый сертификат. На этот раз сроком на 20 лет. Но все проблемы с сертификатом можно легко решить. И вот как это сделать:
Продолжить чтение "Если перестали работать интерфейсы Webmoney"
Четверг, 29 Апрель. 2010
И зачем мы вообще подписались на этот проект… Точнее, взялся за проект товарищ и коллега по работе. ТЗ на 20 листов. 20 пишем, 80 листов в уме. И не откажешься уже – партнерам делаем. В два раза дольше по времени, чем задумано. Но вроде, большая часть работы позади. Уже интегрировали дизайн, подкорректировали стили… Дошло до почты. Оказывается, текстовая простая почта наших друзей не устраивает. ХэТэЭмЭль им подавай. Конечно, можно сформировать HTML сообщение и в обычном mail() в PHP, но раз уж у нас в распоряжении Kohana – зачем юзать костыли?
Продолжить чтение "Swift Mailer для Kohana 3"
Вторник, 22 Декабрь. 2009
Пользуюсь этим замечательным IDE я еще с версии 3.0.x, в начале 2006 года у меня была первая "легальная" лицензия на 5-ку, потом было еще много всяких версий, и в итоге я пришел к выводу, что слишком много кода я пишу именно в этой среде разработки, чтобы ее не купить. В принципе, если задуматься, своей головой и пальцами, печатающими всякую хню, я заработал больше, чем потратил на копию этого IDE, - вот IDEA и стала еще одной программой в моем небольшом списке "честно купленного" ПО. Как бывший фанат Eclipse, я всячески желаю успехов их проекту, но по меньшей мере для меня - выбор между этими двумя замечательными IDE для разработки на Java давно уже очевиден.
Продолжить чтение "JetBrains IDEA - наконец-то я ее купил!"
Понедельник, 21 Сентябрь. 2009
Вышел новый билд 445 версии для ранних пользователей (EAP). Это всего лишь вторая версия, которую увидела широкая публика. Для второй альфа-версии - функционал уже совсем неплох, кстати говоря. Хотя, конечно же, хочется всего и сразу - ну, как минимум того, что уже есть у бесплатных конкурентов, - пока что ждем и надеемся на лучшее. Есть вещи, которые радуют, и вещи, которые откровенно растраивают:
Продолжить чтение "PHP WebIDE от JetBrains, новый билд 445 EAP"
|