.htaccess — блокуємо IP

У випадку, якщо з боку стороннього ресурсу йдуть запити, які створюють непотрібне навантаження на сервер, цей ресурс, а точніше його IP можна заблокувати.

Таким ресурсом може бути взламаний сайт, або бот “незрозумілої системи”, який обходить Ваші сторінки, але що навряд підніме  сайт в пошукових мережах.

Сканер товарів

В житті має бути місце для поезії — раз в рік я макаюсь мордочкою в цікавий проект, цього разу це павук для пошуку та обробки товарів.

Історія коротка — є добрі люди, які возять товари з Ikea, возять в пристойних об’ємах, що дозволяє заробляти навіть при мінімальній націнці. Єдина біда — товарів на сайтах Ikea майже 10 000 — відтак, якщо якийсь з продуктів знімають, а його вибирають на сайті компанії-продавця в Україні, то виходить доволі незручно. Відтак завдання почалось з того, щоб просто перевіряти наявність товарів на основному сайті.

Ну, а далі пішла еволюція: сканування товарів в загальному, переклад на українську, конвертація валюти, додаткові розширення тощо.

В процесі роботи набрався непоганий кейс рішень з базами та curl-запитами — про них детальніше в наступних матеріалах.

будні супорту

обхідні шляхи для вирішення браку пам’яті для composer при інсталяції symphony

У Вас для домену увімкнено РНР 7.1 для нього я й збільшим ліміт, але оскільки Ви використовуєте консольну версію – то звертаєтесь до версії РНР за замовчуванням, до 5.6.
Для 5.6 щойно збільшив ліміт, але це лиш для встановлення, постійно такий залишити не можу.
Або з консолі звертайтесь до РНР за шляхом /php71bin/torpedo02/php-cgi
або через браузер автоматично буде активована ця версія, бо вона вказана в htaccess

для перевірки ліміту пам’яті через ssh використовуємо:

php -r "echo ini_get('memory_limit').PHP_EOL;"

аліас для composer — встановлення на шейред хостингах

Для встановлення найпопулярніших фреймворків рекомендують використовувати так званий composer. Сам інструмент працює через ssh і надає розширені можливості для управління сервером.

На одному з етапів рекомендують перемістити композер в /usr/bin/composer, аби використовувати його як аліас:

Супер глобальні масиви php

Постійно забуваю матчастину по суперглобальних… Напевне здам поточний проект неуком, але нехай полежить тут — навіть, якщо не дійдуть руки написати шпаргалу, то хоч зайвий раз погуглю…

  • $GLOBALS
  • $_SERVER
  • $_REQUEST
  • $_POST
  • $_GET
  • $_FILES
  • $_ENV
  • $_COOKIE
  • $_SESSION

++$i vs $i++

З розряду і лосю понятно…

Конструкція $i++ (в бородатих девелоперів називається інкремент) означає, що зараз до чогось будуть додавати 1 (одиницю). Додаватимуть брутально і невідворотньо, але перед тим вам завернуть стару змінну $i$i– — декремент, з протилежним результатом

Return vs echo/print

В конструкціях php та інших мов програмування часто використовується функція return — повернення результату. Її часто плутають з виводом результату на екран, тому є сенс прояснити логіку обох функцій на невеликому прикладі.

function HelloUser(){
echo "hello world";
}

HelloUser();

array_rand — повернення випадкового елементу з масиву

array_rand — проста проте доволі працьовита функція, яка завертає один, або кілька випадкових елементів з вашого масиву. Часто стає в нагоді, коли потрібно розділити навантаження (нерівномірно) між кількома потоками, підставити різні ключі або навіть виводити випадкові записи.

CURL. Завантаження зображення

CURL відкриває чималі можливості для автоматизації процесів:

  • реєстраційні форми;
  • автоматичні публікації;
  • сканування даних;
  • переклади.

В цій публікації ми розглянемо нескладний прийом для скачування зображень.

Індивідуальний шаблон для окремої сторінки

Раніше ми вже згадували за ієрархію теми WordPress. За допомогою цього засобу вебмайстер має змогу переоприділяти базові файли індивідуальними шаблонами.