Результаты поиска Категория: PHP

Просто про наследование, композицию и агрегацию в PHP

Технические вопросы

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

Автор: Виталий Орлов


PHP конфигурация XDEBUG

Xdebug в PHP

Последнее время работаю в поддержке Magento проектов. Magento имеет совсем не простую кодовую базу, а если добавить модификации предыдущих разработчиков, поиск ошибок становиться невероятно сложным. На помощь приходит XDebug, о нем и пойдет речь..

Автор: Виталий Орлов



Установка Mcrypt в PHP 7.2

логотип PHP 7

Столкнулся с необходимостью быстро поднять Magento2 на домашнем компе. Одной из требований M2 это наличие Mcrypt модуля в PHP. К сожалению, его выпилили в PHP 7.2, переконфигурировать все домашнее окружения, у меня не было желания, поэтому я решил погуглить решение и нашел его..

Автор: Виталий Орлов


Установка php pcntl в Ubuntu

логотип PHP 7

Во время работы над одним проектом, потребовалось отлавливать сообщения от ОС. Делается это с помощью семейства функций pcntl. К моему удивлению у меня они были отключены. В этой статье, расскажу как это исправить.

Автор: Виталий Орлов


Как исправить Cannot use 'Object' as class name as it is reserved в PHP?

логотип PHP 7

В PHP версии выше 7.2 добавлено новое зарезервированное слово object. В связи с этим теперь его нельзя использовать в качестве имени класса, трейта, а так же в именовании пространства имен. Разбираемся как это исправить..

Автор: Виталий Орлов



Ошибка Call to undefined function curl_init() в PHP

PHP

Столкнулся сегодня с ошибкой "Call to undefined function curl_init()", устранить её довольно просто, нужно установить пакет php-curl..

Автор: Виталий Орлов


Установка сервера очередей Gearman в Ubuntu

Gearman

Для одного из проектов мне понадобился сервер очередей. Выбор пал на GEARMAN. О его установке сегодня и расскажу..

Автор: Виталий Орлов


PHP: Как определить IP адрес пользователя?

IP адрес

Сегодня поговорим о том, как определить IP адрес пользователя в PHP, как его проверить с помощью регулярных выражений, как его конвертировать в число и обратно, как его хранить в базе данных MySQL, а так же о том, какие ip адреса заранее зарезервированы..

Автор: Виталий Орлов



Пример создания простого приложения на php и mysql 2018

Idiorm

Всем привет! Я очень давно не писал новых статей, но по просьбе одного из читателей решил написать статью в которой разберу создание простого чата на PHP и MySQL. Этот пост совсем не о том, как сделать рюшки/плюшки, чтоб было визуально красиво. Этот пост о том, как использовать PHP с MySQL, а точнее как из PHP сохранить данные в базу MySQL..

Автор: Виталий Орлов


Yii2: Fatal error, Cannot use 'Object' as class name

Yii 2

При обновлении PHP на версию 7.2 столкнулся с ошибкой в "Fatal error, Cannot use 'Object' as class name" в Yii2...

Автор: Виталий Орлов


apache + php-fpm = No input file specified

Apache logo

Столкнулся с ошибкой "No input file specified", при использовании php-fpm в связке с Apache. Довольно долго разбирался в проблеме, пока не нашел решение. О нем сейчас и расскажу..

Автор: Виталий Орлов



ISPmanager PHP7 для скриптов запускаемых через крон

ISPManager 5

Столкнулся со следующей проблемой: Использовал для нового проекта PHP7. Продакшн управляется последней версией ISPmanager, где по-умолчанию все еще используется старый PHP 5.4.16, а 7 версия выбирается при настройке домена. Т.к. для домена версия php настраивается при создании, то и "фронтенд" работает без проблем, однако проблема начинается при запуске консольных скриптов, т.к. по-умолчанию, в консоли, используется 5.4 ..

Автор: Виталий Орлов


Sphinx в PHP7: SphinxClient has a deprecated constructor (8192)

логотип PHP 7

Переводя один из проектов на PHP7, получил ошибку: Methods with the same name as their class will not be constructors in a future version of PHP; SphinxClient has a deprecated constructor (8192). Решается она довольно просто, но сперва разберемся что она значит..

Автор: Виталий Орлов


PDO: Unknown column in 'order clause'

Database

В одном маленьком проекте, решил задействовать фреймворк для бд Medoo, который работает через PDO.  Однако, вскоре столкнулся с ошибкой [42S22, 1054] Unknown column 'on' in 'order clause'.  Я довольно долго не мог въехать в чем проблема, а когда чисто случайно нашел решение, удивился. Поэтому и оставляю эту заметку, для всех тех, кто также столкнется с чем-то похожим.

Автор: Виталий Орлов



Разное время в Windows и Linux

Часы

Нашел одну свою заметку, которую решил сохранить, в виде записи в блоге. При использовании двух ОС на одном ПК, а именно Windows и Linux, у меня возникла проблема с "временем". При загрузке Windows, время отличалось на несколько часов от текущего времени. Перевод часов вручную, помогал только до первой загрузки в Linux...

Автор: Виталий Орлов


Использование mysql функций в Sphinx

Логотип Sphinx

Мигрируя с одного сервера на другой, я увидел mysql таблицу с кешем некоторых данных, которая занимала ~ 500 Гб. Вспомнив, что давно хотел прикрутить поиск по кешу с помощью Sphinx решил не откладывать и приступил к делу..

Автор: Виталий Орлов


Symfony: SQLSTATE[HY000]: General error: 1005 Can't create table (errno: 150)

Symfony

Ночью не спалось, поэтому решил дописать некоторый функционал в новой версии этого блога. Блог пишу на Symfony, в качестве ORM использую Doctrine. Так вот, столкнулся с ошибкой SQLSTATE[HY000]: General error: 1005 Can't create table 'itrem.#sql-2f3f_2a7' (errno: 150) при обновлении схемы БД..

Автор: Виталий Орлов



CURL: Problem with the SSL CA cert (path? access rights?)

SSL and Curl

Восстанавливая один из своих "внутренних" сервисов, который парсил гугл с помощью Curl, заметил что Google редиректит на свой https домен. Разумеется, я модифицировал код и добавил необходимые настройки. Однако при попытке получить страницу я получил ошибку:

Problem with the SSL CA cert (path? access rights?) ..

Автор: Виталий Орлов


PHP функция для формирования CSV

Генерация CSV на PHP

Сегодня появилась задача, выводить CSV без сохранения в файл, т.е. на генерируем на backend-е и отправляем в браузер, а пользователю выскакивает окошко с предложением сохранить файл..

Автор: Виталий Орлов


Что делает этот PHP код?

PHPixie фреймворк

Сегодня мне нужно написать небольшой прототип сервиса-провайдера. Ему на вход будут приходить данные, он должен вернуть ответ в JSON. Сделать это надо быстро, т.к. основная задача, разработать не сервис-провайдер, а клиент который будет с этим сервисом работать. Для этих целей я решил использовать какой-нибудь микрофреймворк. Я зашел на сайт PHPixie (http://phpixie.com), и увидел вот такой код:

Как вы думаете, что он делает?

Автор: Виталий Орлов