http

Возврат ошибок при некорректной обработке формы, структура ответа для html формы - формат для json, HTTP

Пример ответа для формы смены пароля (возможная струкутра):


<?php

$response = [
   $message => 'Есть проблемы!',
   $errors = [
      'old_password' => 'Неверный пароль, вспоминайте!'
      'new_password' => 'Новый пароль и поле подтверждения не совпадают!',
      'new_password_confirm' => 'Новый пароль и поле подтверждения не совпадают!'
   ]
]

-- также:

google chrome хром не Открывает страницу сайта доступную под VPN - 403 Forbidden, а Firefix открывает

Ситуация

В хроме не открывается доступный под VPN ресурс (сайт, страница), при том, что VPN подключен и работает нормально (в Firefox та же самая страница доступна с того же самого компьютера)

Возможная причина

Возможная причина в "защищенной" работе с DNS в chrome

Возможное решение

В настройках хрома:

Settings -> Privacy and Security 
Затем справа:
-> Security -> Advanced

и далее в разделе "Use secure DNS":

php Отправить http ответ клиенту и продолжить работу скрипта - пример

Можно так:

function sendResponseAndContinue(string $responce = 'Done') {
    ob_start();
    print($responce);
    header('Connection: close');
    header('Content-Length: ' . ob_get_length());
    ob_end_flush();
    @ob_flush();
    flush();
    fastcgi_finish_request();
  }

// Пример использования:

sendResponseAndContinue(); // отправиляем ответ

// делаем, что нужно

exit; // завершаем скрипт

также можно прочитать про фукции и использовать их:

php curl POST Отправка файла, пример работы с CURLFile

// $file_path - путь к файлу, напр. созданному во временной папке
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
$cfile = new \CURLFile($file_path, 'image/jpeg', 'test_name');
$data = ['file' => $cfile];
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT_MS, 1000);
$proxy = 'адресПрокси';  // если нужен прокси
curl_setopt($ch, CURLOPT_PROXY, $proxy); // если нужен прокси
$output = curl_exec_with_stat($ch);
if (curl_errno($ch)) {

curl http Авторизация (указание логина и пароля) при получении содержимого URL в терминале

Передать логин и пароль при запросе к данному URL можно так:

curl -u имяпользователя:пароль адресстраницысайта

Например:

curl -u myuser:123456 example.com

varnish отправляет код 200 вместо 304 При использовании слабого валидатора ETag \W

Близкая проблема на трекере: https://varnish-cache.org/trac/ticket/1816

Currently when the client sends a request with weak ETag and it matches, Varnish returns response with 200 status code on cache hit.

But it should actually return 304 just like with strong ETag.

Эксперимент с выключением \W

Запрос вида:

curl -I 'http://dev.cartimes.ru' -H 'If-None-Match: "20e208217929cc010a4a7f7467d3e681"'

php Кеширование временного файла браузером -- установка http заголовком не помогает

На кеширование (как минимум в firefox) влияет метадата-файла -- а именно поле последней модификации, поэтому его нужно установить в точно такое же, что и http-заголовок last-modified:

Pages

Subscribe to RSS - http