Настройка опций в файле .htaccess

Директивы необходимо добавлять в самый конец или в самое начало файла, вне блоков кода <IfModule>…</IfModule>.

apc.cache_by_default

APC — акселератор PHP, использование которого увеличивает производительность интерпретатора за счет кэширования. В отдельных случаях, однако, может потребоваться его отключение — например, если скрипты не выполняются корректно из-за переполнения кэша.

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

php_flag apc.cache_by_default on
php_flag apc.cache_by_default off

default_charset

Директива указывает кодировку по умолчанию (например, cp1251, utf-8, koi8-r) для всех выдаваемых страниц.

AddDefaultCharset cp1251
php_value default_charset cp1251

display_errors

Директива указывает, требуется ли выводить ошибки на экран вместе с остальным выводом, либо ошибки должны быть скрыты от пользователя.

Включение и выключение осуществляются следующим образом:

php_value display_errors 0
php_value display_errors 1

log_errors

Опция позволяет включить логирование ошибок php с их записью в произвольный файл (в примере errors.log). При указании пути к файлу замените u и user на первую букву Вашего логина и сам логин.

php_value log_errors on
php_value error_log /home/u/user/путь_к_файлу/errors.log

magic_quotes_gpc

Волшебные кавычки (Magic Quotes) — это процесс автоматического экранирования входящих данных PHP-скрипта. Если опция включена, то одинарные (‘) и двойные («) кавычки  и обратный слэш (\)экранируются обратным слэшем автоматически.

Включение и выключение magic_quotes осуществляется директивами:

php_flag magic_quotes_gpc on
php_flag magic_quotes_gpc off

mail.add_x_header

Опция позволяет включить логирование отправки почты из скриптов сайта. Логи будут содержать полный путь до скрипта, адрес получателя и заголовки. При указании пути к файлу, в который будут записываться логи (mail.log), замените u и user на первую букву Вашего логина и сам логин.

php_value mail.add_x_header 1
php_value mail.log /home/u/user/public_html/mail.log

max_input_vars

Директива указывает, сколько входных переменных может быть принято в одном запросе. Например:

php_value max_input_vars 11000

mbstring.func_overload и mbstring.internal_encoding

Чаще всего к данным функциям требуется обращаться для настройки корректной работы сайтов на CMS Битрикс. В этом случае должны быть указаны следующие параметры:

php_value mbstring.func_overload 2
php_value mbstring.internal_encoding UTF-8

При этом для большинства других CMS необходимы иные значения этих функций:

php_value mbstring.func_overload 0
php_value mbstring.internal_encoding UTF-8

opcache.revalidate_freq

Отключение OpCache (настройка требуется для CMS Битрикс):

php_value opcache.revalidate_freq 0

pcre.recursion_limit

Устанавливает лимит на рекурсию.

php_value pcre.recursion_limit 14000

post_max_size

Опция устанавливает максимально допустимый размер данных, отправляемых методом POST. Также это значение также влияет на загрузку файлов — для загрузки больших файлов оно должно быть больше значения директивы upload_max_filesize.

php_value post_max_size 40M

register_globals

Директивы для включения/выключения глобальных переменных:

php_flag register_globals on
php_flag register_globals off

request_order

Директива регулирует порядок, в котором PHP добавляет переменные GET, POST и Cookie в массив _REQUEST.

php_value request_order GPC

upload_max_filesize

Устанавливает максимальный размер закачиваемого файла.

php_value upload_max_filesize 30M

Как не нажимать на каждый чих кнопку пропустить при распаковке сайта из копии Битрикс

Пришлось тут один сайт из бекапа вынимать под виндой, а там что-то с кодировками, и уже сто раз тыкнул «пропустить«, но не отпускает.

Тогда было решено подправить скрипт restore.php в строке 1055:

$skip = '<script>reloadPage(2, \''. LANG.'\')</script> <input type=hidden name=skip value=Y><input type=button value="'.getMsg('SKIP').'" onClick="reloadPage(2, \''. LANG.'\')">';

Теперь все само релоадится на ошибке записи файла…

Отгрузка доставки в Битрикс при разрешении и обмен с 1С

Ситуация такова, что во время обмена 1С->Битрикс не выгружаются документы, если включена опция «Разрешать отгрузку при разрешении доставки» на вкладке автоматизации процессов bitrix/admin/settings.php?lang=ru&mid=sale&mid_menu=1 . Читать далее Отгрузка доставки в Битрикс при разрешении и обмен с 1С

Пропадает отгрузка на сайте после обмена с 1С

Последнее время стала пропадать отгрузка с сайта после обмена с 1С.

И фиг бы с ней с отгрузкой, но пропадала стоимость доставки из заказа, и клиент оплачивает заказ без нее.

Решение, не то что решение, а объяснение, было найдено в переписке с техподдержкой.

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

Добрый день, Сергей.

Да, стоимость доставки на сайте хранится в документе отгрузки.

>————— цитата ——————
Из 1С документ отгрузки (расходная накладная) выгружается тогда, когда
его отгружают.
>—————————————

Тогда и на сайте стоимость доставки появится после отгрузки документа в 1С.

С уважением,
старший специалист техподдержки…

Бред какой-то, господа…

Ищем пути решения по наименьшему сопротивлению.

Если не нужно менять название разделов при обмене с 1С

В init.php можно довесить событие, запрещающее изменение наименования и описания элементов, удаления изображений, в т.ч. и на событие изменения разделов каталога OnBeforeIBlockSectionUpdate:

Читать далее Если не нужно менять название разделов при обмене с 1С

Что же там передает 1С во время обмена с Битрикс?

Есть множество вариантов отлавливания данных, но можно посмотреть их  в виде массива переменной arFields Битрикс во время обмена. Читать далее Что же там передает 1С во время обмена с Битрикс?

Меню из списка инфоблоков и их разделов для базового шаблона

Привелось мне тут на базовом шаблоне интернет-магазина делать меню, состоящее не только из разделов определенного инфоблока, но и из списка инфоблоков.  Читать далее Меню из списка инфоблоков и их разделов для базового шаблона

Перенос инфоблока из одного в другой тип инфоблока

Блин, огонь на грани дырки движка! Но работает!

Сейчас перенести инфоблок из одного в другой тип инфоблоков — довольно непростая задача, необходимо пользоваться экспортом/импортом с риском потери данных.

Но!
1. Переходим в редактирование ИБ, который надо перенести.
2. Меняем GET-параметр type на _нужный_ тип (куда перенести).
3. Теперь сохраняем инфоблок.
4. Профит.

https://idea.1c-bitrix.ru/transfer-with-another-type-of-an-infoblock/