Ответы пользователя по тегу PHP
  • Выполнение PHP-скриптов, запущеных через CRON на протяжении как минимум 5 минут?

    @freehostua
    Работаю в FREEhost.UA
    А как вообще выполняется php скрипт? ведь может быть запуск как cli с использованием php интерпретатора или скажем в http контексте при помощи curl или wget.

    Если как cli то добавьте в конец строки крона | mail -s "report" my@e-mail и на почту Вам прилетит выхлоп скрипта с ошибками.

    Если выполняется в http контексте, тогда посмотрите лог ошибок apache для сайта.
    Ответ написан
  • Уничтожение сессии на сайта php?

    @freehostua
    Работаю в FREEhost.UA
    Обычная PHP сессия привязана к по куки к одному браузеру. Достаточно сделать session_unregister для удаления конкретной переменной в ней.
    Ответ написан
  • Как настроить php отправку письма на сервере с панелю Ispmanager?

    @freehostua
    Работаю в FREEhost.UA
    Если у Вас настройки в режиме php apache, перейдите в настройки домена и укажите существующий email администратора: admin@example.com
    Проверьте, настроена ли возможность отправки в php.ini. Если реализовано через php cgi, отредактируйте файл php-bin/php.ini, указав следующую строку:
    sendmail_path = "/usr/sbin/sendmail -t -i -f admin@example.com"
    Более подробно о доступных функциях можете ознакомиться по ссылке: https://www.php.net/manual/ru/mail.configuration.php

    Обратите внимание, почтовый ящик который Вы укажете как обратный email для функции mail, должен быть предварительно создан на Вашем почтовом домене и функционировать. Иначе письмо будет помечено как спам, или будет отклонено почтовым сервером получателя. Так же добавьте для домена записи SPF и DMARC. Такие записи необходимы в связи внедрением ведущих почтовых сервисов более жесткой проверки отправителя.

    Попробуйте отправить тестовое сообщение, указав headers:

    <?php
    $to = "test@mail.ru";
    $subject = "My subject";
    $txt = "Hello world!";
    $headers = "From: admin@example.com" . "\r\n" .
    "CC: test@mail.ru";

    mail($to,$subject,$txt,$headers);
    ?>
    Ответ написан
    Комментировать
  • Бросать исключение или возвращать коды ошибок/успеха? Является ли исключением то, что метод не может выполнить свою задачу?

    @freehostua
    Работаю в FREEhost.UA
    Исключения и сообщения об ошибках решают разные задачи. Если условно разделить приложение на Контроллер, формы проверки входных значений и модель приложения.

    Контроллер - управляет приложением
    Формы - выполняют валидацию данных
    Модель - основная логика, решение задачи бизнеса.

    Во время валидации данных, сообщения должны накапливаться. Ошибка со стороны пользователя, при вводе данных, это вполне ожидаемое событие. Поэтому в данном случае исключение не уместно.

    Модель следит за своими инвариантами и должна быть целостная. Поэтому она в любом случае проверяет входящие данные. Если во входящих данных была найдена ошибка, это уже исключение, поскольку для модели получение неправильных данных ситуация неожиданная и приложение должно завершиться немедленно.

    Мое мнение такое:
    Если ошибка ожидаемая или ошибки должны накапливаться для отображения в диалоге с пользователем, это не исключение.
    Если ошибка незапланированная, приводит к немедленному прекращению выполнения алгоритма, значит это исключение. Пример исключения: ошибка взаимодействия с базой данных, ошибка записи на диск, вызов метода запрещенного для текущего состояния объекта.
    Ответ написан
    Комментировать
  • Как правильно обрабатывать входящие данные?

    @freehostua Автор вопроса
    Работаю в FREEhost.UA
    Задача понять каким образом должен происходить процесс обработки входящих данных перед тем как они попадут в базу данных.
    Ответ написан
    Комментировать