блого-заметки об администрировании и программировании (python, ruby, php). Траблшутинг в «примерах» и HOWTO.

😎 О себе | 📚 Литература и ресурсы | ⚡ Все посты | 📮 E-mail
8 заметок с тегом

PHP

Шаги обновления PHP 7.1 на PHP 7.2 Ubuntu 16.04 LTS

Замкетка о порядке поочередности выполнения шагов

Устанавливаем необходимые пакеты:


sudo apt-get install php7.2 php7.2-cli php7.2-common
sudo apt-get install php7.2-curl php7.2-gd php7.2-json php7.2-mbstring php7.2-intl php7.2-mysql php7.2-xml php7.2-zip


Отключаем старую версию php


sudo a2dismod php7.1 ; sudo a2enmod php7.2


Изменяем бинарник (в списке выбираем номер с 7.2)


sudo update-alternatives --config php


Перезапускаем веб-сервер


service apache2 restart


 Нет комментариев    26   14 дн   apache   Apache2   PHP   php7.1   php7.2   Ubuntu   Ubuntu 16.04

Изменить размер лимит upload_max_filesize для phpmyadmin в WHM/cPanel

WHM Tweak Settings upload_max_filesize for phpmyadmin
Один из клиентов попросил изменить данный лимит для загрузки крупного дампа через phpmyadmin, но т.к. WHM/cPanel огромный комбайн, то конечно же данный лимит изменяется не в /etc/php.ini и даже не в /etc/php/php.ini   Для изменения лимита переходим в Tweek Settings - PHP и изменяем параметры POST size, к примеру ставим 128 Mb и UPLOAD size, установив 96 Mb. Почему? Не забываем правило memory_limit >= post_max_size >= upload_max_filesize   Ну и далее сохраняемся. Все, готово.

Собрать php из исходников в отдельной директории

Собрать php из исходников в отдельной директории

Для сканирования сайта актуальной версией ai-bolit пришлось собрать php из исходников, т.к. на сервере была установлена, Вы не поверите, версия php 5.2. Можно возразить - а как же docker - собрал контейнер и понеслось. Таки да, но не в этом случае.
Поэтому приступаем к сборке:
Я собрал версию php 5.6, но согласно данного гайда можно собрать любую.
Создаем директорию для сборки

mkdir /opt/php56


Скачиваем исходник

wget -O php-5.6.32.tar.gz http://nl1.php.net/get/php-5.6.32.tar.gz/from/this/mirror


Распаковываем

tar -zxvf php-5.6.32.tar.gz


Переходим в директорию

cd /opt/php56/php-5.6.32/


и приступаем к сборке

./configure --prefix=/opt/php56 --exec-prefix=/opt/php56 --sysconfdir=/opt/php56 --with-libdir=/usr/lib64 --disable-rpath --with-config-file-path=/opt/php56 --with-config-file-scan-dir=/opt/php56/php.d --with-zlib

make 

make install


Хочу заметить, что для ai-bolit нужно расширение zlib поэтому мне пришлось пересобирать повторно с ключом --with-zlib

prefix - директория установки архитектурно независимых файлов;

exec-prefix - директорию установки архитектурно зависимых файлов, если не указывается, то равно prefix;

sysconfdir - директория с файлами конфигурации;

with-libdir - расположение библиотек;

disable-rpath - директива запрещает поиск библиотек исполняемых файлов в дополнительных каталогах;

with-config-file-path - директива указывает каталог, в котором размещен файл конфигурации PHP php.ini;

with-config-file-scan-dir - директива устанавливает путь сканирования файлов конфигурации;

Если не работает php-cgi в ISPmanager v4 Lite после обновления PHP

Вставляем в директиву виртуального хоста в /etc/httpd/conf/httpd.conf для CentOS / RH для Ubuntu / Debian /etc/apache2/apache.conf

AddHandler application/x-httpd-php5 php
Action application/x-httpd-php5 /php-bin/php
Action application/x-httpd-php /php-bin/php

  Для php 7.x:

AddHandler application/x-httpd-php7 php
Action application/x-httpd-php7 /php-bin/php
Action application/x-httpd-php /php-bin/php

 

Оптимальные настройки для Bitrix в связке nginx + fpm

Если будут использоваться на сервере только магазины/сайты на 1С Битрикс, то сразу обновить PHP до 5.6! Также хочу заметить, что данные параметры применялись для VPS RAM 2 Gb и более, 2 ядра CPU и более. Как результат тест выдавал около 60-70 единиц. MySQL

[mysqld]

table_cache=256
key_buffer_size=32M
sort_buffer=8M
max_allowed_packet = 1M
read_buffer_size=8M
query_cache_size=48M
query_cache_type=1
tmp_table_size=8m
join_buffer_size = 2M

innodb_buffer_pool_size=128M
innodb_additional_mem_pool_size=20M
innodb_file_io_threads=8
innodb_lock_wait_timeout=50
innodb_log_file_size=128M
innodb_log_buffer_size=16M
innodb_flush_log_at_trx_commit=0

ZendOPcache

opcache.enable=1
opcache.enable_cli=1
opcache.memory_consumption=256
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=500000
opcache.max_wasted_percentage=5
opcache.use_cwd=1
opcache.validate_timestamps=1
opcache.revalidate_freq=0
opcache.fast_shutdown=1
opcache.file_update_protection=10

PHP.ini

pcre.backtrack_limit = 1000000
;pcre.recursion_limit = 14000
pcre.recursion_limit = 100000
realpath_cache_size = 4096k

Очистка файлов сессий PHP

Для очистки большого количества файлов сессий PHP, из директории с этими файлами выполняем команду в директории /tmp/ (может отличаться):

find . -name "sess*" -print0 | xargs -0 /bin/rm

Забываем о головной боли.
 Нет комментариев    4   2016   find   PHP   session   tmp
Ранее Ctrl + ↓