Ответы пользователя по тегу PHP
  • Как исправить ошибку 500 Internal Server Error?

    kotomyava
    @kotomyava
    Системный администратор
    В таком виде на вопрос не ответить. Причина может быть любой.
    Надо смотреть логи веб сервера, на предмет того, что собственно вызывает ошибку. Дальше решать найденную проблему.
    Ответ написан
    Комментировать
  • Как решить ошибку Install or enable PHP's imap extension?

    kotomyava
    @kotomyava
    Системный администратор
    Надо как и сказано установить расширение php imap, которое предназначено дня работы с серверами по соответствующему протоколу. Для mautic оно безусловно нужно.

    Но зачем вам локально устанавливать mautic не совсем понятно. Обычно он устанавливается на хостинге.
    Ответ написан
    3 комментария
  • Allowed memory size ошибка, хотя memory_limit = 2048M, почему?

    kotomyava
    @kotomyava
    Системный администратор
    Ограничение может быть задано в phpunit.xml, а также ini_set() где-то в вашем приложении.
    В первом случае можно запустить phpunit -d memory_limit=2048M, например.
    Ответ написан
    Комментировать
  • Как пройти всплывающее окно на php?

    kotomyava
    @kotomyava
    Системный администратор
    Это называется http авторизация.
    В общем виде: К запросу надо добавить заголовок вида:
    "Authorization: Basic" . base64_encode("user:password")


    Если запрос делается каким-нибудь curl, у него есть для этого CURLOPT_USERPWD.
    Если какой-нибудь библиотекой, то там, скорее всего, уже есть функционал такой и надо где-нибудь в настройках запроса указать логин/пароль.
    Ответ написан
    Комментировать
  • Сеть с ESP8266 GET/POST запросы?

    kotomyava
    @kotomyava
    Системный администратор
    Вам не нужно тут никакой асинхронности, два даже одновременных запроса будут обработаны двумя разными процессами php. Что дальше делать с этими данными, и как их визуализировать, это уже совсем отдельная задача, не связанная напрямую с приёмом этих запросов...

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

    kotomyava
    @kotomyava
    Системный администратор
    Если используется nginx, можете отдавать и напрямую им картинку после проверки, используя x-accel-redirect(https://www.nginx.com/resources/wiki/start/topics/...)
    Ответ написан
    Комментировать
  • Как идентифицировать уникальные ключи Memcached?

    kotomyava
    @kotomyava
    Системный администратор
    У вас есть id, его можно включить в название ключа. например "num_att_$id". И точно также при сохранении количества попыток этот же ключ использовать. Ничего не надо нигде дополнительно хранить.

    Ключи можно удалять по префиксу, если нужно очистить этот кеш. Прямого функционала нет для этого в memcached, но есть обходные пути.

    Кстати, проверять наличие кеша и выдавать ошибку не надо. Код должен работать и без него же. Тем более, что сообщение об ошибке явно некорректно - проверяется наличие модуля, а не подключение же. =) Надо просто правильно обернуть проверкой обращение к кешу.
    Ответ написан
    1 комментарий
  • Как зашифровать пароль как в laravel, но без laravel?

    kotomyava
    @kotomyava
    Системный администратор
    В laravel, по умолчанию используется bcrypt, но это фреймворк, а не законченное приложение, и в конкретном приложении может быть любой алгоритм хеширования.

    Восстановить пароли не получится, т.к. хранятся их хеши, а не пароли в явном виде. Можно заняться перебором и сравнением хешей, как это и делается при авторизации, но это мало эффективно.
    Ответ написан
    Комментировать
  • Как понять, что у меня действительно получилось сделать keep-alive соединение на curl?

    kotomyava
    @kotomyava
    Системный администратор
    Re-using existing connection! (#0) with host ***host***
    * Connected to ***host*** (***host***) port 80 (#0)

    Тут видно, что соединение переиспользуется.

    CURLOPT_FORBID_REUSE По умолчанию не активна и выставлять не надо, зачем вам запрет переиспользования соединений?

    CURLOPT_TCP_KEEPALIVE Это посылка пакетов для поддержания соединения. В вашем случае вряд-ли нужно - имеет смысл, если запросы редки, и между ними может пройти больше времени чем таймаут keepalive на сервере (обычно это десятки секунд).

    То, что разница у вас не велика не не удивительно. Она сильно заметна, если много запросов с очень быстрыми ответами, где время установки соединения занимает значимое время.
    Ответ написан
    2 комментария
  • PHPMailer не отправляет почту на yandex, что не так?

    kotomyava
    @kotomyava
    Системный администратор
    Чтобы ящик заработал надо хотя бы один раз зайти в него через веб интерфейс яндекса.

    SMTPSecure = 'TLS';
    Port = 587;
    В заголовке from должен быть тот же ящик, что и при авторизации.
    Ответ написан
  • Возможно ли иметь на одном сервере Flask и PHP?

    kotomyava
    @kotomyava
    Системный администратор
    Конечно можно.
    Для этого ничего не надо дополнительно настраивать даже, просто не проксировать на веб сервере запросы к flask. По умолчанию flask запускается на 127.0.0.1:5000, и пока рядом не поднят веб сервер, который будет проксировать к нему запросы, или не изменена конфигурация, чтобы он был доступен на внешнем интерфейсе, он и не будет доступен извне, но будет доступен вашему php приложению.
    Ответ написан
    Комментировать
  • Есть ли у кого-нибудь рабочий phpmailer под yandex smtp?

    kotomyava
    @kotomyava
    Системный администратор
    Phpmailer вполне нормально работает с яндекс почтой.

    Для начала, стоит проверить данные для подключения: smtp.yandex.ru/SSL(SMTPSecure =PHPMailer::ENCRYPTION_SMTPS)/порт 465.
    Ну и включить отладку(SMTPDebug = SMTP::DEBUG_SERVER), и выбрать правильный вывод отладки(Debugoutput).

    Вообще, стоит проверить, работает-ли вообще отправка через этот ящик по smtp с помощью любого SMTP клиента...
    Если ящик только что был создан, то в него надо минимум один раз зайти через веб интерфейс яндекса, чтобы завершить его регистрацию, до этого почта через него отправляться не будет.
    Ответ написан
    Комментировать
  • Всегда ли после изменений php.ini нужно перезагружать сервер?

    kotomyava
    @kotomyava
    Системный администратор
    Nginx перезагружать не нужно.
    Apache нужно перезагрузить, если используется php как модуль apache, или через mod_fcgid.
    Если php запускается с помощью php-fpm, перезагружать надо только его.
    Ответ написан
    Комментировать
  • Как через php перезагрузить nginx?

    kotomyava
    @kotomyava
    Системный администратор
    Проанализируйте, как работают и как сделаны панели управления хостингом, прежде чем делать собственный велосипед с квадратными колёсами.

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

    kotomyava
    @kotomyava
    Системный администратор
    PHP ничему - плохому учат на курсах "PHP за пол часа".
    А т.к. порог вхождения весьма низкий, а используется он в популярной сфере веб разработки, то информации много и средний уровень этой информации очень невысок. И действительно, встречается много шлака, по которому ничему хорошему не научишься...

    В самом PHP, особенно сейчас, всё довольно-таки пристойно, ну кроме исторической путаницы в названиях функций некоторых. =)
    Ответ написан
    Комментировать
  • Как можно защитить PHP, не замедлив его?

    kotomyava
    @kotomyava
    Системный администратор
    Ioncube, это мера защиты исходного кода от копирования/изменения/обхода лицензий, а не средство повышения безопасности сайта.

    Вы применяете не те средства, да и преследуете не те цели. Сокрытие кода от того, кто уже нашёл у вас дыру, и может его получить, запоздалая, и уже довольно бесполезная мера...
    Ответ написан
    Комментировать
  • Как обновить php?

    kotomyava
    @kotomyava
    Системный администратор
    Надо просто уже давно выкинуть денвер. Он крайне устарел.
    Его более современная альтернатива openserver, например, там есть поддержка актуальных версий php.

    Ну и то и другое, это средства для разработчика, а не для организации хостинга сайтов, так на всякий случай...
    Ответ написан
    Комментировать
  • С чего начать рыть для email рассылок через php?

    kotomyava
    @kotomyava
    Системный администратор
    С составления правильных писем, и изучения рекомендаций по рассылкам, на самом деле. И тогда будет куда понятнее, какие функции нужно будет реализовать.

    Подскажу - сама отправка сообщений только вершина айсберга. Обязательно надо реализовать отписку по ссылке в письме, проверять базы подписчиков, желательно проверять ответы и.т.п.

    Сама же отправка, зависит от того, какой механизм надо использовать для отправки (smtp/php mail(), api внешнего сервиса). Проще всего взять готовую библиотеку, обычно, например swift mailer или phpmailer.
    Ответ написан
    Комментировать
  • Почму бинарник php задействует только 1 ядро процессора?

    kotomyava
    @kotomyava
    Системный администратор
    Тольлько переписав скрипт так, чтобы он порождал дочерние процессы по количеству ядер или даже больше, и параллелил между ними свои задачи. Внешними средствами это не сделать.
    Ответ написан
    2 комментария
  • Как бороться с ошибкой MySQL server has gone away?

    kotomyava
    @kotomyava
    Системный администратор
    Может не укладываетесь в wait_timeout?
    Посмотрите, сколько он у вас, и сравните со временем выполнения скрипта.

    Такая ошибка происходит при попытке записи данных в уже закрытое со стороны сервера соединение, или при падении процесса MySQL. Выше описан один из наиболее вероятных вариантов, но если не оно, то надо дальше смотреть лог MySQL, в первую очередь.
    Ответ написан
    1 комментарий