• Как отправлять большое количество email?

    R0dger
    @R0dger
    Laravel/Yii/2 AngularJs PHP RESTful API
    5-10 нод купите настройте на них smtp, все письма в очередь, из очереди выбирайте и рассылайте через свои ноды.. чем больше нод, тем быстрее рассылка будет. и т.д.
    Ответ написан
    2 комментария
  • Что изменится при установке ssl сертификата?

    sumanai
    @sumanai
    Веб- программист- самоучка
    Вы куда собрались ставить сертификат? Если вы установите его на сервер (https), то из скрипта на PHP вы ничего интересного не увидите. Просто протокол в адресе будет https. Про клиентские сертификаты не скажу, не знаю.
    По пунктам:
    1) Вам нужно изменить все ссылки на загружаемые файлы на использование протокола https, либо использовать относительные ссылки
    2) Проверкой ключей занимается вебсервер, он не даст вам установить неподходящие друг другу открытый и закрытый сертификат. Если же клиент посылает ошибочные данные, то будет ошибка соединения, но на правильно работающем клиенте такого не будет.
    3) Если скрипт ожидает значение в массиве $_POST, то нет.
    4) Измениться метод передачи и адрес страницы после отправки.
    Ответ написан
    Комментировать
  • Насколько затратно так использовать подключения к базе данных sql?

    romy4
    @romy4
    Exception handler
    > Суть в том, что допустим это супер посещаемый сайт - 100 000 уникальных в день..
    вы сильно льстите себе :)

    сначала сделайте сайт, а уже потом точечно оптимизируйте тормозящие запросы. сейчас вы не тем занимаетесь
    Ответ написан
    Комментировать
  • Насколько затратно так использовать подключения к базе данных sql?

    elevenelven
    @elevenelven
    Php Dev @ Amadeus
    Но я знаю каким людям это будет нужно, так как у них перед этим в sql базе данных есть специальное значение
    Вы в любом случае вытаскиваете авторизационные данные и сохраняете в сессию. Заджойните признак (UI-маркер) отображения меню.
    Если у вас нет какой-то ролевой/групповой модели доступа, то создайте UI-маркеры - что для этого пользователя отображать.

    Конечно подход решил не заморачиваться имеет право на жизнь. Но надо быть дисциплинированным.
    Ответ написан
    5 комментариев
  • Насколько затратно так использовать подключения к базе данных sql?

    @dmitryKovalskiy
    программист средней руки
    Почитал немного по диагонали, так что не обижайтесь если совет совет будет перекликаться с вашими излияниями. У вас есть общий перечень элементов и его подмножество - перечень, доступный некому пользователю(по ролям или правам доступа - не важно). п.1) Если эти права доступа хранятся в БД - то просто тащите из БД только то что потенциально необходимо данному клиенту. К слову эти данные довольно статичны, так что можно их спокойно кешировать. п.2) по поводу "всего 300кб". Да, для одного пользователя они закешируются, но первый запуск будет долгим, а для другого нет. и при 100к юников эти 300Кб будут отдаваться первое время каждому, хотя есть риск что они не нужны. п.3) Где хранятся эти изображения? если в базе, то мы опять получаем лишнюю нагрузку на сервак для данных, которые ему не нужны. На мой взгляд одно из главных правил для таких задач по нагрузке на БД - никогда не тащите лишних данных. Пусть лучше база их отфильтрует, чем вы сначала здоровенный пакет данных будете тащить на сервер приложения, затем выяснять какие нужны, а какие нет, затем всю это свалку бросить клиенту "авось пригодится".
    Ответ написан
    2 комментария
  • Насколько затратно так использовать подключения к базе данных sql?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега PHP
    Скорее всего, вы экономите на спичках. Да, это съест какие-то милисекунды загрузки страницы и какие-то килобайты памяти, но если у вас сервер не на наручных часах запущен, разницы вы не заметите.
    Ну и никто не запрещает кешировать значение в сессии.
    Ответ написан
    3 комментария
  • Как получить данные от vk api через curl?

    GTRxShock
    @GTRxShock
    Full-stack developer (Symfony, Angular)
    На хостингере все работает, просто запрещены редиректы.
    Это ограничение можно обойти написав свою реализацию curl_exec().

    например:
    public function curl_redir_exec($ch)
        {
            if (self::$curl_loops++ >= self::$curl_max_loops)
            {
                self::$curl_loops = 0;
                return FALSE;
            }
            curl_setopt($ch, CURLOPT_HEADER, true);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
            $data = curl_exec($ch);
            //$header = '';
            //var_dump($data);
            list($header) = explode("\n\n", $data, 2);
            $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
            if ($http_code == 301 || $http_code == 302)
            {
                $matches = array();
                preg_match('/Location:(.*?)\n/', $header, $matches);
                //print_r($matches);
                $url = @parse_url(trim(array_pop($matches)));
                if (!$url)
                {
                    //couldn't process the url to redirect to
                    $curl_loops = 0;
                    return $data;
                }
                $url['query'] = ''; // костыль в ооп
                $last_url = parse_url(curl_getinfo($ch, CURLINFO_EFFECTIVE_URL));
                if (!$url['scheme'])
                    $url['scheme'] = $last_url['scheme'];
                if (!$url['host'])
                    $url['host'] = $last_url['host'];
                if (!$url['path'])
                    $url['path'] = $last_url['path'];
                $new_url = $url['scheme'] . '://' . $url['host'] . $url['path'] . ($url['query']?'?'.$url['query']:'');
                curl_setopt($ch, CURLOPT_URL, $new_url);
                //debug('Redirecting to', $new_url);
                //echo $new_url;
                return $this->curl_redir_exec($ch);
            } else {
                $curl_loops=0;
                return $data;
            }
        }


    так как необходимость во встроенных редиректах отпадает, устанавливаем CURLOPT_FOLLOWLOCATION => false

    p.s. не забываем, что это своего рода костыль, но, за неимением лучшего хостинга, для разработки вполне сойдет :)
    Ответ написан