Проблема с несколькими SSL на одном IP

Если на одном IP адресе находится несколько сайтов с SSL, то старые древние браузеры не поддерживающие SNI не смогут определить какой сертификат им загружать и скорее всего будут загружать первый который прописан в начале конфигурации веб-сервера.

Читать далее «Проблема с несколькими SSL на одном IP»

WordPress. Решение «cURL error 60: SSL certificate problem: unable to get local issuer certificate»

Однажды на одном из сайтов заметил в WordPress меню «Инструменты» — «Здоровье сайта» следующие ошибки:

Читать далее «WordPress. Решение «cURL error 60: SSL certificate problem: unable to get local issuer certificate»»

Email уведомление при логине пользователей в WordPress

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

Читать далее «Email уведомление при логине пользователей в WordPress»

Решение ошибки «cURL error 28: Operation timed out after N milliseconds»

Однажды на странице здоровья WordPress (Инструменты — Здоровье сайта) я заметил несколько ошибок для REST API и Петлевого запроса:

Читать далее «Решение ошибки «cURL error 28: Operation timed out after N milliseconds»»

Руководство по использованию robots.txt

robots.txt — файл с ограничениями доступа к веб-серверу для поисковых роботов.
Должен находится только в корневой директории сайта, и содержать буквы только нижнего регистра, то есть «robots.txt», а не «Robots.txt».

Читать далее «Руководство по использованию robots.txt»

Настройка логов nginx

Приведу примеры настройки ведения логов для nginx.

Чтобы изменить настройки логов, откроем файл конфигурации nginx в любом текстовом редакторе:
Читать далее «Настройка логов nginx»

Решение PHP Notice: Use of undefined constant x — assumed ‘x’

Заметил однажды при написании PHP скрипта следующее уведомление:

PHP Notice:  Use of undefined constant uid - assumed 'uid' in /scripts/file.php on line 31
PHP Notice:  Use of undefined constant value - assumed 'value' in /scripts/file.php on line 32

Читать далее «Решение PHP Notice: Use of undefined constant x — assumed ‘x’»

Скрипт отправки СМС через Goip4 шлюз для ABillS

Приведу пример PHP скрипта, которым я рассылаю СМС сообщения через GoIP4 шлюз.

Сначала выберем тарифы только с месячным начислением:

SELECT name, tp_id FROM tarif_plans;
SELECT name, tp_id FROM tarif_plans WHERE month_fee>0;

Собственно вот сам скрипт, я запускаю его из cron на отдельном сервере (где я установил GoIP4 СМС сервер):

Читать далее «Скрипт отправки СМС через Goip4 шлюз для ABillS»

Почему Contact Form 7 не работает на iOS

Недавно на WordPress сайте заметил проблему отправки сообщений через Contact Form 7 из устройств с операционной системой iOS.
Если использовалась Google reCAPTCHA, то при нажатии кнопки Отправить, страница очень долго обновлялась и reCAPTCHA сообщала ошибку ожидания, если отключить reCAPTCHA, то сообщение отправлялось спустя 1-2 минуты.

Как оказалось, iOS почему-то начал блокировать AJAX, который использовался по умолчанию при обновлении страницы.

По этому чтобы решить проблему, я открыл файл конфигурации wp-config.php и примерно перед строкой:

define('WP_DEBUG', false);

Добавил строку:

define ('WPCF7_LOAD_JS', false);

Эта строка запрещает Contact Form 7 использовать Javascript.
Если указать эту переменную в конце файла, то она не будет работать.

После этого сообщения на iOS начали отправляться сразу.

Повышение версии PHP в Ubuntu 14.04

Понадобилось однажды на Ubuntu Server 14.04 LTS повысить версию PHP 5.5.9 до 5.6, обычное обновление компонентов системы не помогло:

sudo apt-get update
sudo apt-get upgrade

Можно попробовать обновить систему до 16.04 или выше как я описывал в статье Обновление Ubuntu 14.04 до 16.04. Вместе с системой будет обновлен и PHP.

Если же обновление системы не удается выполнить, то можно добавить сторонний источник с PHP:

sudo add-apt-repository ppa:ondrej/php
sudo apt-get update

И установить из него нужную версию, например PHP 5.6:

sudo apt-get install php5.6 php5.6-mbstring php5.6-mcrypt php5.6-mysql php5.6-xml

Так как установленных версий может быть несколько, отключим старую и активируем установленную:

sudo a2dismod php5
sudo a2enmod php5.6
sudo service apache2 restart

Аналогично можно установить PHP 7.2:

sudo apt-get install php7.2
sudo a2dismod php5.6
sudo a2enmod php7.2
sudo service apache2 restart

Или PHP 7.0:

sudo apt-get install php7.0
sudo a2dismod php7.2
sudo a2enmod php7.0
sudo service apache2 restart