Yandex Metrika

Поиск по блогу

Найдите нужную статью о модулях 1С-Битрикс,
настройке и оптимизации

Теги: php ×

Найдено результатов: 50 по тегам php

Подписи модулей в административном интерфейсе после PHP 8.1

Жёстче PHP 8.1 к ошибкам и предупреждениям затрагивает отрисовку списков расширений: очищаем административный кеш, переводные данные и просматриваем патчи вне дистрибутива ядра магазина.

Не заходит в админку: белый или чёрный экран на платформе 1С‑Битрикс

Журнал php-fpm свободный диск кеш операционный код временные каталоги несовместимое расширение интерпретатора: типовой порядок выяснения причины перед эскалацией в поддержку.

Переход на PHP 8.x в «1С‑Битрикс»: сбор типовых рисков и проверочных шагов

Материалы направления фокусируются на deprecation сигнатурированных вызовов, жёстких типах в коде приложения, обновлениях модулей sale и переходном слое между mysqli и объектной обёрткой драйверов виртуальных машин Bitrix.

API медиабиблиотеки: CMedialib::Init и работа классов CMedialibCollection и CMedialibItem

Подключение fileman, инициализация медиалиба, фильтры коллекций, рекурсивное дерево, правка набора элементов через CFile::MakeFileArray и множественная привязка к нескольким коллекциям.

Сообщение «Прекомпилятор не установлен» в Битрикс: Opcache и путь zend_extension

В веб‑окружении Zend OPcache уже ожидается, но PHP не находит opcache.so; часто достаточно явно указать путь расширения в ini и проверить значения параметров из типового профиля.

Обрезание POST в PHP: max_input_vars при большой корзине 1С‑Битрикс

При сотнях SKU в одном запросе активация скидок или оформление брошенной корзины может упереться в лимит переменных max_input_vars из bitrixenv.ini; поднимают лимит и перезапускают веб‑сервер.

Сниппеты PHPExcel: загрузка книги, формулы, пересчёт и формат чисел

Короткая шпаргалка по легаси PHPExcel в проектах с 1С‑Битрикс: открыть шаблон Excel2007, записать формулу, прочитать вычисленное значение, задать числовой формат и убрать научную нотацию для длинных строк цифр (ИНН и т.п.).

Где в коде объявлена функция PHP: ReflectionFunction в отладке Битрикс

Быстро найти файл и строку объявления любой пользовательской или ядерной функции — через ReflectionFunction; полезно, когда нужно понять переопределения и хуки вокруг типичных вызовов вроде bx_mail.

Интерактивная стилизованная карта Google Maps: точки из PHP и проекты рядом с 1С‑Битрикс

Перепаковка старой связки PHP + HTML‑метки + RequireJS/Google Maps JS API v3 под современную загрузчиком карту и безопасный вывод названий адресов. Тот же сценарий на витринах и лендингах на «1С‑Битрикс»: офисы, ПВЗ, точки партнёров из массива или выборки; кластеры и только одно активное информационное окно.

Координаты по текстовому адресу в PHP: Geocoding API и запись lat/lng в таблицу

Разбор задачи из старых заметок: пройти по строкам базы с адресами, получить широту и долготу через геокодер и сохранить в поля таблицы. Переводим идею на современный HTTPS‑API с ключом, таймаутами и аккуратной записью координат — в том же духе, что и крон‑скрипты рядом с «1С‑Битрикс».

Извлечь все комментарии из PHP-файла: token_get_all и потоковый ввод

Как за минуты собрать однострочные и блоковые комментарии из исходника на PHP через лексический разбор ядром: token_get_all, stdin и практический разбор ограничений для инвентаризации легаси рядом с 1С‑Битрикс.

Подъём с очень старой версии 1С‑Битрикс: лестница PHP, апдейт платформы и переход на mysqli

На «замороженных» инсталляциях с веткой продукта порядка 17.x обновление упирается не только в файлы ядра, но и в версию PHP и драйвер БД. Ниже — пошаговая лестница: поднять интерпретатор до совместимого минимума, прогнать обновление платформы, включить mysqli и довести систему до актуальных пакетов — с бэкапом и проверкой на копии.

Рекурсивное iconv для массивов: UTF‑8 в проекте на «1С‑Битрикс»

Как рекурсивно перевести вложенный массив из одной кодировки в другую: обход ключей и строк, суффиксы //IGNORE и //TRANSLIT, вынос iconv в отдельную функцию и вариант уровня через array_map — в контексте импорта и UTF‑8 сайта на 1С‑Битрикс.

Импорт прайс-листа из Excel: PHPExcel, проверка шапки и обновление цен

Скелет импорта XLS/XLSX: PHPExcel или PhpSpreadsheet, контроль ячейки формата, обход строк с номенклатурой и SKU, чтение вычисленных значений из формул, обновление цен и остатков без небезопасного SQL — в контексте типового проекта на 1С‑Битрикс.

Массив $_SERVER: заголовки, строка запроса и контекст PHP для бэкенда

Зачем PHP собирает суперглобальный $_SERVER: как из HTTP-полей получаются ключи HTTP_*, чем отличаются SCRIPT_NAME и PHP_SELF, как читать адрес клиента за балансировщиком и что в CLI нет «вебовых» переменных — кратко для разработчика 1С‑Битрикс.

Монтирование SMB/CIFS из PHP: mount.cifs, файл учётных данных и размонтирование

Как из скрипта на PHP (в т. ч. рядом с кроном или одноразовой утилитой) смонтировать шару Windows/Samba только на время работы: отдельный credentials-файл, вызов mount.cifs, чтение в режиме ro и аккуратный umount при уничтожении объекта.

Экспорт в CSV: карта колонок, конвертеры и потоковая выдача в браузер

Как разнести выборку данных и оформление строки: таблица «колонка → заголовок → конвертер», чтение батчами с LIMIT, вывод в php://output через fputcsv и заголовки, с которыми Excel не ломает кириллицу.

Почему PHPUnit «моргает»: flaky-тесты и что с этим делать в PHP-проекте

Тест иногда зелёный, иногда красный — классика нестабильных (flaky) сценариев. Разбор типичных причин в PHPUnit на фоне Laravel и кастомного PHP вроде 1С‑Битрикс: гонки по данным, фейковое хранилище, провайдеры данных, отложенное завершение и сравнение времени.

Рефакторинг по методу «heavy clay»: вынести «плохой» код в отдельный файл и довести до методов

Тактика для наследия без тестов: проблемный процедурный кусок копируют в `origin.php` и `modify.php`, переключают флагом, явно помечают входы и выходы, затем превращают включение в методы класса — контроль через запуск всего приложения, а не через изолированные юнит-тесты.

Рефакторинг через «TODO‑маркеры»: исключения вместо полной переписки кода

Тактика для больших правок в 1С‑Битрикс: вместо мгновенной переработки всего механизма помечаетте реальные точки входа в старый код исключениями с текстом вроде TODO — по стеку видно, какой сценарий действительно срабатывает, и что чинить в первую очередь.

Быстрый поиск файла класса и метода через Reflection API в PHP

Как без IDE за секунды узнать путь к файлу, в котором объявлен класс или метод в проекте на PHP: ReflectionClass и ReflectionMethod, учёт пространств имён и оговорки про трейты, наследование и кеш opcache.

IPv4 в INT, INSERT из массива и array_reduce в задачах 1С‑Битрикс

Как без сюрпризов хранить IPv4 в числовом поле, выводить его как беззнаковое, вставлять строку через INET_ATON и собирать INSERT из ассоциативного массива через array_map; плюс разбор array_reduce на примере сбора идентификаторов разделов.

Отдача файла на скачивание в PHP: заголовки, readfile и безопасный путь

Как отдать бинарник браузеру без лишнего HTML в ответе: корректные заголовки, размер тела, readfile и почему нельзя собирать путь к файлу напрямую из query без проверки — с учётом типичных сценариев вокруг 1С‑Битрикс.

Защита сайта на Битрикс от взлома: сканер, типовые вредоносные приёмы в PHP и что проверять

Сводка по материалам о защите PHP-проектов, переложенная на «1С-Битрикс»: неявный вызов кода во вредоносных скриптах, бесплатный сканер AI-Bolit по хостингу, инструменты проверки и осведомлённость про XSS. Где искать следы компрометации в дереве сайта.

PHPExcel в 1С‑Битрикс при mbstring.func_overload=2: вынос генерации XLS в отдельный PHP‑CLI

Когда в веб‑процессе включена перегрузка строк mbstring, старый PHPExcel часто падает в том же запросе, что и ядро Битрикс. Надёжный обходной путь — отдельный интерпретатор PHP в CLI с «чистым» mbstring и передачей таблицы через временный файл.

Сюрпризы PHP для бэкенда на 1С‑Битрикс: параметры, float, инкременты и сериализация

Почему на актуальном PHP не скомпилируется функция с дублирующимися именами аргументов, что даёт пара постфиксных ++ в одном присваивании, как двоичные float ломают сравнение с целым, чему равно !(-1) и зачем осторожно с unserialize при смене видимости свойств.

PHP в cron на UNIX: строка расписания, полный путь к интерпретатору и минимальный prolog_before для Битрикс

Как составить строку crontab, почему в задании лучше писать /usr/bin/php, а не «голый» php, как совпасть с версией и настройками веб-среды и безопасно подключить ядро сайта через prolog_before в фоновом сценарии.

Легаси-автозагрузка по мотивам PushOrigin: CModule и php_interface

Разбор минимального приёма из статьи PushOrigin про CModule::AddAutoloadClasses: куда положить файлы под /local/php_interface/classes, почему путь абсолютный от корня сайта и как литера в ключе массива ломает загрузку класса.

Сессии в PHP и Битрикс «ломаются»: нет места на диске и быстрая диагностика

Если на каждый запрос меняется bitrix_sessid(), AJAX жалуется на неверную сессию, а в админке вы всё ещё авторизуетесь до первых «плавающих» ошибок — проверьте, сохраняется ли PHP-сессия на файловую систему. Частый сюрприз: место или inode закончились, запись блокируется без явного намёка в интерфейсе.

Установка Pinba server на CentOS 6: плагин MySQL и настройка

Pinba собирает профили PHP-запросов в реальном времени: на сервере это движок хранения для MySQL. Ниже — сборка pinba_engine из исходников под ту же версию MySQL, что стоит на хосте, установка плагина и минимальная конфигурация.

Установка Sphinx Search на Debian и Ubuntu: пакет движка, PECL и сборка libsphinxclient

Классический сценарий для проектов, где до сих пор тянется Sphinx как внешний полнотекстовый движок: ставим sphinxsearch из репозитория, подключаем PHP-расширение через PECL и при ошибке про заголовки libsphinxclient собираем клиентскую библиотеку из исходников и чиним типичный фейл сборки sock_close.