Рубрика «php5» - 3

Настройка Nginx + LAMP сервера в домашних условиях №1: Настройка frontend — backend
Здравствуйте. Недавно я задавал вопрос по поводу создания цикла статей. Вот первая статья.

В этом цикле статей вы узнаете как грамотно настроить LAMP сервер, аля «хостинг только мощней».
Мы будем использовать следующий стек: nginx — apache-mpm-itk — mod_php — mysql — linux/debian.

Буду освещать следующие темы:

  • Настройка frontend — backend
  • Расчет возможностей сервера, настройка mysql и backend
  • Рассказ об опыте на базе intel s3420gp

Совершенно уверенно могу сказать, что настройка LAMP сервера не ограничивается 6-10 командами установки и раскомментирования определенных строчек в файлах настройки.
Пример: по умолчанию nginx не дает возможности закачать на сервер тело запроса больше чем 1M. Если не настроить данный параметр, будет возникать ошибка 414 (Request-URI Too Large), при попытке добавления небольшой серии фотографий.
У apache совершенно противоположное: у него тело запроса по умолчанию не ограничено. Это делает возможным совершать пакости.

В этой статье мы познакомимся со всей настройкой досконально. В статье вы сможете найти конфигурационные файлы, подготовленные мной. Будучи педантом, мои конфигурационные файлы всегда сгруппированы по типу, например: «производительность», «генерация контента», «страницы ошибок», «сжатие», «другие настройки», «общие настройки». Мне кажется, что читаемость данных файлов становится намного лучше, если они сгруппированы.

Мы узнаем о том какие бывают простые атаки и как от них защищаться. Сразу скажу, что при базовой конфигурации frontend в лице nginx — backend apache все равно остается уязвим.

Я практически уверен, что я не смогу уместить все в одну статью. Добро пожаловать под кат.
Читать полностью »

Столкнулся с задачей мониторинга активности пользователей всем известной социальной сети. Передо мной стояла задача собирать данные о количестве пользователей, находящихся онлайн в определенной группе или сообществе.
Читать полностью »

Несколько лет назад заказчик, крупный медицинский центр федерального значения, поручил нам разработать софт, обслуживающий информационные киоски. Внешне киоск напоминает платёжный терминал (только без купюроприёмника), его основная функция, как следует из названия, — предоставление пациентам различной информации, такой как расписание приёма врачей, услуги и их стоимость, и так далее.
По понятным причинам для киоска потребовалось разработать упрощённый интерфейс пользователя, который было решено реализовать как web-приложение. Имея в штате опытных web-программистов, уверенно владеющих php, решили (для скорости) поручить им его написание, организовав связь с базой данных нашей медицинской системы. Рассматривалось 3 варианта взаимодействия:

  • ODBC
  • JDBC
  • web-сервисы.

Web-программисты предпочли ODBC как наиболее простой с их точки зрения вариант, и альфа-версия киоска довольно быстро увидела свет. Однако вскоре выяснилось (surprise!), что php-код должен работать не под Windows, как это было у разработчика, а под Linux, несмотря на то, что в те годы наша медицинская система эксплуатировалась заказчиком на платформе Windows 2008. Чтобы «подружить» всех членов триады (Linux – ODBC-драйвер Caché — php5) потребовались определённые усилия. Последовательность проделанных действий я зафиксировал в виде наброска к данной статье, которую и предлагаю вашему вниманию.
Читать полностью »

В очень редких случаях, но иногда случаются так, что в рамках одного и того же веб-сайта нам необходимо иметь 2 разные версии php.
С одним из таких случаев пришлось столкнутся мне — на веб-сайте крутится древний [как гумус динозавтра] wordpress (требование скрипта- php4). В рамках текущего домена внезапно потребовалось установить скрипт, у которого минимальные требования — php пятой ветки.

Дано

  • Проект с приличным трафиком. Краткосрочное падение трафика (даже на 10 секунд) — недопустимо
  • Apache с вкомпиленым в него php4
  • Варится все на FreeBSD
Нужно

  • Без особой крови падения трафика заставить работать php5 в отдельном каталоге

Читать полностью »

Не секрет что PHP является самым популярным языком программирования серверной части web-приложений. В силу своей простоты, этот язык притягивает к себе множество новичков, которые вооружившись книгами и информацией с форумов, несутся на всевозможные фрилансы, закидывая рынок веб-приложений проектами, дальнейшая доработка которых практически не возможна (лучше сделать все заново с нуля, чем поддерживать уже существующий код). Многие берут деньги с заказчиков и хватаются за проекты, которые им не по силам, тем самым портят впечатления о фрилансерах. Но как известно «научится играть на гитаре, можно только играя на гитаре», так же и для того чтобы освоить веб-разработку, нужно ею заниматься и постоянно совершенствоваться, многие вещи приходят только на практике. Мне бы хотелось дать несколько советов начинающим веб-мастерам о том как писать код основываясь на собственном опыте доработок разнообразных проектов.
Читать полностью »

Доброе время суток всем!
Как обещал ранее, а также по просьбе некоторых пользователей хабра выкладываю в сеть новый вариант эмулятора PEAR DB сделанный на основе PDO и успешно работающий с новыми версиями PHP. Скачать можно здесь (из раздела Code, ветка trunk) или здесь, а также используя snv
так: svn checkout svn://svn.code.sf.net/p/peardb2pdo/code/trunk peardb2pdo-code
или так: svn checkout svn.code.sf.net/p/peardb2pdo/code/trunk peardb2pdo-code

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

Лицензия: GNU General Public License .

Далее подробнее ...Читать полностью »

в 20:16, , рубрики: bugs, php, php5, баги, метки: , , ,

Столько воды утекло с тех пор как ПХП провозглосил себя ООП языком. Мне не удалось уточнить когда именно, но «On July 13, 2004, PHP 5 was released, powered by the new Zend Engine II. PHP 5 included new features such as improved support for object-oriented programming».
Т.е теоретически уже тогда появились конструкторы и деструкторы. Сам пользуюсь версией 5.3.2, но диву даюсь что он вытворяет.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js