php

Книги - 6 дней назад

10 книг по программированию на PHP и MySQL

В блоге на hackr.io пользователь Ахил Бхадвал поделился десятью лучшими, по его мнению, книгами по программированию на языке PHP. 

Новости - 2 недели назад

Пароли Git-репозитория языка PHP хранились ненадежно

Разработчик и сопровождающий языка программирования PHP Никита Попов рассказал новые детали об инциденте, связанном с безопасностью git.php.net.

Истории - 3 недели назад

История Hubber: от монолита к модульной архитектуре

В IT-платформе для синхронизации поставщиков и производителей с маркетплейсами Hubber рассказали Highload о трансформации продукта за пять лет с момента запуска: с какими технологиями работают, какие совершали ошибки и почему постепенно уходят от монолитной архитектуры.

Новости - 3 недели назад

Хакеры внедрили в Git-репозиторий проекта PHP удаленно управляемый бэкдор

Разработчик и сопровождающий языка программирования PHP Никита Попов сообщил о компрометации Git-репозитория php-scr проекта и обнаружении двух вредоносных коммитов — от имени самого Попова и создателя PHP Расмуса Лердорфа.

Новости - 4 недели назад

Appwrite: брат-близнец Firebase, но с открытым исходным кодом

На GitHub в версии 0.7.2 доступен сквозной бэкенд-сервер с открытым исходным кодом для веб-, мобильных, нативных и бэкенд-приложений, упакованный в виде набора Docker-контейнеров для упрощенного развертывания. Проект набрал на GitHub пять тысяч звездочек. Согласно документации, цель Appwrite — абстрагировать и упростить общие задачи разработки REST API, помогая разработчикам быстрее создавать безопасные приложения.

Новости - 1 месяц назад

RoadRunner: сервер приложений PHP на Go

Команда Spiral Scout продемонстрировала мощную интеграцию PHP и Golang под названием RoadRunner. Это выпущенный под лицензией MIT высокопроизводительный сервер приложений PHP c открытым исходным кодом, балансировщик нагрузки и менеджер процессов, написанный на Go.

Новости - 1 месяц назад

Вышел PeachPie 1.0.0

PeachPie — это амбициозный проект с открытым кодом, призванный объединить два мира: PHP и .NET. PeachPie интегрирует язык PHP в экосистему .NET, что делает его полностью совместимым с другими проектами .NET, полностью управляемым, кроссплатформенным и не требующим нативного PHP, а также позволяет пользоваться всеми преимуществами платформы .NET. Проект состоит из компилятора, среды выполнения, библиотек расширений, поддержки IDE и MSBuild, полностью соответствующих стандарту .NET.

Новости - 1 месяц назад

Универсальное модульное тестирование по комментариям

На dev.to разработчик из Камеруна опубликовал библиотеку, которая работает как CLI и позволяет производить модульное тестирование скриптовых языков программирования. Он назвал ее Testa и проверил на PHP, JavaScript, Python и Ruby.

Highload - 2 месяца назад

Очереди на Gearman и PHP

Gearman – это простая система очередей. Имеет кучу клиентов, в том числе и для PHP. Позволяет масштабироваться на несколько серверов, а также имеет возможность приоритизации задач.

Highload - 3 месяца назад

Cache-control с динамикой

Заголовок Cache-control позволяет значительно увеличить скорость загрузки сайта, а также разгрузить канал между сервером и пользователем. Этот заголовок включает кэширование и просто в применении для файлов, которые никогда не меняются. Но для того, чтобы использовать это преимущество для файлов, которые могут меняться, нужно детальнее разобраться в клиентском кэшировании:

Highload - 4 месяца назад

Как увеличить memory_limit

Чтобы увеличить размер максимально доступной памяти в PHP, достаточно вызвать функцию:
ini_set(‘memory_limit’, ‘**128M**’);
## Увеличит максимальную память до 128Мб для скрипта

Highload - 4 месяца назад

php.ini

php.ini – это файл настроек php. Чтобы найти его, используйте команду:

Highload - 4 месяца назад

Управление сигналами pcntl в PHP

Что произойдет, если работающий скрипт остановить? В случае сколь-нибудь сложной логики, последствия могут быть самыми плачевными:

Highload - 4 месяца назад

Как запустить скрипт в фоновом режиме?

Достаточно часто возникает потребность запустить длительный скрипт в фоновом режиме. Для решение этой задачи существует несколько инструментов: nohup, screen, tmux. Наиболее простым инструментом является nohup.

Highload - 5 месяцев назад

PHP foreach

Цикл foreach – один из самых удобных инструментов в PHP. Он позволяет обрабатывать ассоциативные массивы:
$array = [‘статьи’, ‘вопросы’, ‘ответы’];

Highload - 5 месяцев назад

Чеклист по скорости PHP

Меньше ООП

Не используйте объектов там, где в них нет необходимости. Используйте массивы PHP, это мощный и удобный инструмент.

Highload - 5 месяцев назад

Ошибка Maximum execution time of 30 seconds exceeded

Ошибка Maximum execution time of 30 seconds exceeded возникает, когда PHP скрипт выполняется более 30 секунд.

Highload - 6 месяцев назад

Профилирование PHP с XHprof

Профилирование приложения – это сбор данных о скорости выполнения различных участков программы (файлов и функций). Существует множество инструментов профилирования PHP, но не все инструменты подходят для проведения анализа прямо в продакшне.

Highload - 7 месяцев назад

Как запустить PHP worker?

При использовании очередей сообщений Вам может понадобится запускать PHP процессы, которые должны работать постоянно. Для этого есть несколько подходов:

Highload - 7 месяцев назад

Как минифицировать (minify) HTML?

Быстрый вариант – встроить прямо в PHP скрипт, который будет очищать буфер вывода от всего лишнего:

Highload - 8 месяцев назад

Fatal error: pcntl_fork(): Error 11 – как починить

Если вы пользуетесь [http://php.net/manual/en/book.pcntl.php расширением для форков] в PHP, вы могли встречать на практике такую ошибку:

Highload - 9 месяцев назад

Анализ и оптимизация времени TTFB

В широком смысле, TTFB — это метрика, которая показывает время до получения первого байта (сетевого пакета) веб-страницы после отправки запроса со стороны клиента.

Highload - 9 месяцев назад

Ошибка 500 Internal Server Error

В большинстве случаев ошибка Internal Server Error вызвана неверной конфигурацией Nginx. Так что используйте лучшие практики по настройке веб-сервера. И не забудьте включить логирование ошибок – обычно Nginx подсказывает причину ошибку в журнале.

Highload - 9 месяцев назад

Конфигурация nginx + php 7

Сначала необходимо убедиться, что nginx и php7 fpm установлены:

Highload - 10 месяцев назад

Асинхронность в PHP и FPM

Если Вы используете PHP-fpm, Вам доступна очень удобная возможность выполнять код асинхронно. Функция fastcgi_finish_request() позволяет отправить Web серверу ответ без остановки самого PHP скрипта.

Highload - 11 месяцев назад

Тяжелое кэширование

При кэшировании особо тяжелых запросов, которые выполняются более нескольких секунд, может возникнуть большая проблема. Если время кэша подойдет к концу, таких тяжелых запросов может быть выполнено сразу несколько, а не один. Например:

Highload - 11 месяцев назад

Fault tolerance и его реализация в PHP

Разрабатывая веб-приложение важно помнить об отказоустойчивости. Fault tolerance – метод проектировки, при котором неработоспособность отдельного элемента или функции приложения не выводит из строя само приложение, устойчивость программы к отказам. Не путайте fault tolerance с failover (аварийное переключение) – переключением отказавшего функционала резервному компоненту.

Highload - 12 месяцев назад

Сессии PHP в Memcache

Хранение сессий в Memcache предполагает ряд преимуществ:

Highload - 12 месяцев назад

Ошибка в PHP: exec(): Unable to fork

Ошибка PHP: exec(): Unable to fork возникает при запуске большого количества параллельных скриптов PHP.

Highload - 1 год назад

Архитектура высоких нагрузок

Архитектурные решения — фундамент любых приложений. В том числе и приложений с высокими нагрузками. Важно понимать, что архитектура Web приложения определяет 95% успешности его работы. В том числе способность справляться с нагрузками.

Highload - 1 год назад

Singleton в PHP на примере подключения к MySQL

Singleton (синглтон) – один из простейших для понимания шаблонов проектирования в PHP. Это обычный класс в PHP, в логику которого добавлена проверка на единственность создания его экземпляра.

Highload - 1 год назад

Unix сокеты c Nginx и PHP

Если вся Ваша связка nginx/php работает на одном сервере, лучше использовать unix-сокеты вместо tcp-сокетов для работы:

Highload - 1 год назад

Работа с Vertica на PHP

Чтобы построить работу с Vertica из PHP, достаточно использовать библиотеку ODBC.
Настройка делается в несколько шагов:

Highload - 1 год назад

Looping скриптов

Для повторного выполнение важных скриптов или процессов, подойдут системные инструменты и простые скрипты, в том числе на PHP.

Highload - 1 год назад

Как включить Cache-control в PHP?

Заголовок Cache-control позволяет установить правила кеширования страниц сайта в браузере. Это позволит значительно снизить трафик, т.к. клиент не будет постоянно запрашивать одни и те же файлы. Лучше всего кешировать файлы, которые не изменяются (либо изменяются не часто, например раз в день).