Ответы пользователя по тегу PHP
  • Как обновить базу часовых поясов в php?

    WebAir
    @WebAir Автор вопроса
    Используется судя по всему база вшитая в php, так как "Timezone Database - internal"
    Как правильно отметил DevMan , сборку php7.2.19 в VestaCP почему то осуществили с версией базы часовых поясов 2017.09

    Вариант 1 - пересобрать php с нужной базой. Я не настолько продвинут, для осуществления этого варианта.
    Вариант 2 - использовать стороннюю базу - pecl

    Я пошел по второму пути, собрал разные решения из интернета воедино.
    1. В следующем шаге понадобится phpize, поэтому установим его (7.2 ваша версия php. apt-get команда Ubuntu)
    apt-get install php7.2-dev
    2. pecl install timezonedb
    3. pecl channel-update pecl.php.net
    4. pecl upgrade timezonedb
    5. Тут путь может отличаться
    nano /etc/php/7.2/apache2/php.ini
    6. Вставить в конец extension=timezonedb.so и сохранить
    7. Перезапустить сервер

    В итоге, используется external база
    date/time support enabled
    timelib version 2017.09
    "Olson" Timezone Database Version 2019.3
    Timezone Database external
    Default timezone UTC
    Ответ написан
    Комментировать
  • Как избежать ошибки лишней траты в онлайн магазине?

    Главное, чтобы ему (боту) не удалось оформить товаров больше, чем есть на самом деле.
    При переходе в оформление заказа всё пересчитать заново, если товаров набрано больше, чем есть, вывести ошибку или присвоить максимально допустимое кол-во.
    Ответ написан
    Комментировать
  • Как определить компетентность на должность middle - senior php developer?

    Если вы сами не разбираетесь в вопросе, то и оценить правильность выполнения не сможете объективно. Но можете постараться, используя нижеприведенные мной тесты. Эти тесты хотя бы помогут вам убедиться в том, что человек действительно разбирается в php+mysql. Если вы хотите оценить точно на каком он уровне, то нужно составлять тяжелый тест, который я бы, например, не согласился выполнить бесплатно, если речь не идет о ЗП выше 100т.р. руб.
    =======================
    Тест 1. Попросите разбить предложение на слова, на входе предложение, а выводится слова каждая на отдельной строке.(Правильный подход - использовать функцию explode) Если справился, то попросите выполнить то же самое задание, но еще и с удалением знаков препинания.
    =======================
    Тест 2. Спросите какое будет булево значение true или false (в комментариях ответы, их удалите)
    <?php
    var_dump((bool) "");        // bool(false)
    var_dump((bool) 1);         // bool(true)
    var_dump((bool) -2);        // bool(true)
    var_dump((bool) "foo");     // bool(true)
    var_dump((bool) 2.3e5);     // bool(true)
    var_dump((bool) array(12)); // bool(true)
    var_dump((bool) array());   // bool(false)
    var_dump((bool) "false");   // bool(true)
    ?>

    =======================
    Тест 3. Попросите составить запрос SQL - выборка произвольных (рандомных) 10 номеров телефонов с проверкой на пустоту.
    Ответ:
    SELECT * FROM table_name WHERE phone IS NOT NULL AND phone != 0 ORDER BY RAND() LIMIT 10
    Ответ написан
  • PHP. VK JSON. Как переподключиться, если timeout?

    WebAir
    @WebAir Автор вопроса
    Что скажете на счет?
    do {
    $ctx = stream_context_create(array('http'=>
    array(
    'timeout' => 3,  //максимум 3 сек
    )
    ));
    $getcontents = @file_get_contents("vkurl", false, $ctx); // выбивает ошибку таймаута по прошествии 3-х секунд, вывод ошибки отключаем
    } while ($getcontents===false); //зацикливаем до тех пор, пока не получим что нибудь ценное ))
    echo $getcontents;


    или еще вот
    while($content = @file_get_contents('vkurl')){echo $content;}
    Ответ написан