Задать вопрос
  • Почему форма обратной связи php отправляет часть кода?

    ThunderCat
    @ThunderCat Куратор тега PHP
    Ипатьев, навскидку Mautic, ну и в лару вроде свой встроен, емнип это форк свифта.
    Написано
  • Как посмотреть на строку в в которой запрос SQL выдает ошибку?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    j238267431,
    в source копируется та же таблица r_remainder,
    Ну так если размерность одного поля будет больше, ничего не мешает засунуть туда меньшее значение из "меньшего" типа. Обратно как раз проблема.

    типы полей совпадают
    Все лгут (с) Хаус. Креэйт таблиц в студию...
    Написано
  • Как исправить ошибку in_array(): Argument #2 ($haystack) must be of type array, bool given (0)?

    ThunderCat
    @ThunderCat Куратор тега PHP
    есть решение: ... но я видимо его не правильно применяю...
    Скорее всего.
    if(is_array($arSelectFields) && count($arSelectFields) > 5){
           if(in_array("ElementValues", $arSelectFields) && isset($item["IBLOCK_ID"])){
                 //code
           }
    }
    Написано
  • Как устранить ошибку Only variables can be passed by reference?

    ThunderCat
    @ThunderCat Куратор тега PHP
    Денис Московский,
    Правки которые Вы прислали внес.
    Это не "правки", это код отладки, который должен выводить содержимое переменных. По нему можно понять что происходит в коде на этапе выполнения.

    страница ошибки
    Она доступна только авторизированным администраторам, так что толку с нее никакого.

    Вы простите, но я не программист.
    «Хабр Q&A» — это узкоспециализированный сервис вопросов и ответов, предназначенный для IT-специалистов и всех тех, кто отчаянно пытается ими стать.
    Выдержка из правил сервиса.

    Программист уже сделал что мог и оставил эту ошибку нам...
    Этот программист
    явно неправильный, найдите нормального, или бейте этого до решения ситуации (косяк явно программный, не понятно что значит "оставил нам"?).

    Разбираться в весьма некачественном коде битрикса само по себе не самая простая задача, даже если вопросы будет задавать специалист, а тут еще и человек в задаче ни в зуб ногой не разбирающийся... Проще нанять спеца по месту, так как задания и задачи тут запрещены (то есть проблему не должны решать за вас, вам могут посоветовать путь решения и указать на ошибки в вашем коде), по этому скорее всего тут вам не помогут. По крайней мере я не вижу возможности обучать вас дебагу и программированию в формате форума...
    Написано
  • Как устранить ошибку Only variables can be passed by reference?

    ThunderCat
    @ThunderCat Куратор тега PHP
    Денис Московский, Не что не работает, а что выдают дампы переменных?
    Написано
  • Как устранить ошибку Only variables can be passed by reference?

    ThunderCat
    @ThunderCat Куратор тега PHP
    ...
    else
    	{
    		var_dump($el);
    		var_dump($arAllStr);
    		var_dump($arResult[$i]);
    		PHPParser::GetParamsRec($el, $arAllStr, $arResult[$i]);
    	}
    ...
    Написано
  • Как запустить несколько очередей в Laravel?

    ThunderCat
    @ThunderCat
    knotik, ниже комментариев "ВАШ ОТВЕТ НА ВОПРОС". Добавьте и отметьте решением.
    Написано
  • Как запустить несколько очередей в Laravel?

    ThunderCat
    @ThunderCat
    knotik, вынесите ваш ответ в ответы и пометьте решением, это может кому-то пригодиться.
    Написано
  • Bitrix. Mysql жрет процессор как не в себя. Куда копать?

    ThunderCat
    @ThunderCat
    1)
    95% запросов выполняется за 0.0001 - 0.001 секунды. (на каждый запрос)
    Это вполне может быть результатом работы 6 ядер, а не правильно построенных индексов. Хотя и маловероятно. Опять же, выбрать ВСЮ таблицу занимает НИЧЕГО по времени, но ДОФИГА по памяти, возможно где-то все таки нет лимитов.

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

    Вообще с таким я встречался только в нескольких случаях, но там всегда нагрузку вызывали именно масса запросов, порядка 100 в секунду... тут же все странно... Возможно особенность кода, но так как мускуль причина тормозов - смотреть все равно надо запросы, и потом уже думать как фиксить код.
    Написано
  • Bitrix. Mysql жрет процессор как не в себя. Куда копать?

    ThunderCat
    @ThunderCat
    Вы бы добавили тег mysql, а то большинство спецов по самой проблеме ваш вопрос в ленте не видят. Я сам случайно попал в тему из блока "интересное", так как на специфические хрени вроде битрикса и вордпресса не подписан.
    Написано
  • Как мне выводить из базы данных информацию по группам?

    ThunderCat
    @ThunderCat Куратор тега PHP
    happysmile_hm, значит цикл неверно написан. Подумайте как должен логически происходить каждый шаг цикла и найдете ошибку.
    Написано
  • На каких технологиях писать многостраничный сайт-визитку?

    ThunderCat
    @ThunderCat Куратор тега Веб-разработка
    шо там такого реактивного в сайте визитке?

    какие технологии использовать
    Выглядит как вордпресс...
    Написано
  • Как мне выводить из базы данных информацию по группам?

    ThunderCat
    @ThunderCat Куратор тега PHP
    Вот как я хочу получать запрос
    Запрос вы так не получите, так как форматирование в нем не предусмотрено, это всегда построчный список одинакового формата. Только обработкой в приложении, например как написал Adamos.
    Написано
  • Как запретить скачивание файл по прямой ссылке?

    ThunderCat
    @ThunderCat Куратор тега PHP
    rPman,
    никто не мешает создавать симлинк на файл, правда когда именно это делать вопрос, например ссылка на скачивание это модуль проверки наличия этого симлинка и создания его по необходимости.
    то есть от "самого простого решения в 2 строчки" мы приходим к куче работы и настройки независящего от кода окружения. Ок, допустим.

    Про security through obscurity - нет, идентификатор сессии выступает токеном авторизации, любой другой способ авторизации так или иначе будет содержать токены, которые будут храниться в сессии браузера пользователя.
    Во первых - я уже показал как легко и непринужденно эти данные утекают. Значит это дыра. То что вы этого не понимаете говорит больше о неопытности, чем о злом умысле, но проблемы это не решает. Вы теряете контроль за доступом к файлу по 1 клику. И более того - ко всей папке.
    Во вторых
    При использовании modrewrite ссылка никак не будет содержать этот идентификатор..
    тоже как-то выходит за рамки 2 строчек кода и самого простого решения, мы опять должны решать что-то с окружением и писать свои костылики уже в хтаксесах. Плюс - возвращаемся к тому что папка выступающая как симлинк вся становится доступной и (тадаааа!) один файл мы снова не можем зашарить.

    Смена прав доступа - это удаление симлинка.
    То есть там где была только проверка, мы добавляем манипуляции с ФС, которые как бы не требуются при других подходах... Мы все еще говорим о самом простом решении в 2 строчки? И тут же улетело в трубу прямое обращение к файлу на время сессии, так как этот доступ должен быть по программной проверке и мы снова возвращаемся к работе через скрипт. Ну или если предположить что симлинк должен быть уничтожен во время смены доступа, то как блэт? Мы должны прочесать все симлинки, просмотреть в какой папке имеется нужный файл, выписать все ключи сессии в массив, а затем как-то вычислить какому пользователю принадлежит сессия с указанным ключом (допустим мы пишем этот ключ в бд, тогда танец с бубном становится на одно па короче...). Иии... оказывается что симлинк содержит еще 10 файлов в этой папке, к которым у пользователя есть доступ, и симлинк удалять нельзя (или можно?)...

    Еще раз, ты все то же самое будешь делать в любой другой базе данных, то что реляционные все уже умеют тригеры и позволяют это все красиво описать - всего лишь синтаксический сахар.
    Ну да, именно благодаря синтаксическому сахару мы уже не пишем интерфейсы на асме, если что. И нет, я не буду делать то же самое, как минимум не понадобится работа с ФС по удалению симлинка, что добавляет еще 1 уровень контроля за состоянием, и в итоге мы имеем лапшу кода по поддержке весьма странной фичи...
    Написано
  • Как называется подпрограмма внутри массива?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    Aetae,
    Но на самом деле всё это фигня, конкретно для js нет никаких фиксированных наименований, все они взяты из иных языков, где имели чёткие рамки, по схожести чисто на глаз.
    Какой-то поток сознания. В куче разных языков реализовано куча фишек и различных приемов, позволяющих сделать некоторые "трюки", тем не менее не выпадающие из ООП терминологии. Как оно там устроено под капотом можно поспорить, но то что вызывается как метод, в ООП называют методом.
    Написано
  • Как запретить скачивание файл по прямой ссылке?

    ThunderCat
    @ThunderCat Куратор тега PHP
    tajfun_rt, да, осталось вывести папку выше документ рута, иначе весь смысл доступа к ней через скрипт теряется.
    Написано
  • Как запретить скачивание файл по прямой ссылке?

    ThunderCat
    @ThunderCat Куратор тега PHP
    rPman, Проще и красивее? Ща со стула упаду ))
    Давай по порядку:
    1) Так нельзя дать доступ до конкретного файла, только до папки целиком. Что как бы не айс.
    2) Нормальная практика на серверах когда папка сессионных файлов содержит кучу "мертвяков", не убитых системой по множеству причин, чаще всего зависящих от настроек, которые не везде можно подкрутить. Тут как раз и "совместимость со всеми серверами" и "2 строчки кода" требующие дополнительных кронов и демонов в одном флаконе. Молчу про сервера под IIS.
    3) Не все сервера позволяют "симлинкать" что угодно куда угодно, часто простенькие шареды тупо закрывают эту возможность.
    4) По сути, не смотря на то что папка имеет "хитрое" имя и "теоретически" не доступна для других пользователей, это не доступ по правам, а security through obscurity, то есть папка физически доступна всем, кто знает. Например, Василий делится ссылкой на файл с Петей, и теперь Петя имеет доступ не только к файлам из папки Васи, но и видит его сессион кей. Найс.

    любая реализация на php будет грузить сервер на порядок выше нативного веб сервера.
    Вам в любом случае надо получить права доступа до файла для текущего пользователя, который (внезапно!) может быть сменен вот прям перед моментом обращения. Так что нужен код который это проверит. Еще один readfile() к этому коду нифига особо не добавит по нагрузке, так как тупо проксирует чтение.
    Написано
  • Как запретить скачивание файл по прямой ссылке?

    ThunderCat
    @ThunderCat Куратор тега PHP
    tajfun_rt, то есть ошибки не читаем, реальный путь до файла указать не догадались, но не получилось...
    Написано
  • Как запретить скачивание файл по прямой ссылке?

    ThunderCat
    @ThunderCat Куратор тега PHP
    tajfun_rt,
    не получается.
    Что значит не получается? Оно или работает, или выдает ошибку.
    Написано