Форум

/ домой \ \ темы /



Тема: Баг в опции "Файл ошибки" [SHTTPS 3.06.12test5]

29/02/2020 13:13 Gyricon:

Возможность отработки PHP-страницы в качестве в качестве обработчика "Файл ошибки" работает лишь частично. Исследовал проблему, и обнаружил:
• Если в строке запроса 7+ кириллических литер в любых позициях — тогда неявный вызов срабатывает.
• Если в строке запроса 6- кириллических литер в любых позициях — видим стандартный "Error. Script return nothing".

Пример:
localhost/фффффф "Error. Script return nothing"
localhost/ффффффф "Живой error.php приветствует мир!"

Пример:
localhost/zфzzzфzzzфzффzф "Error. Script return nothing"
localhost/zфzzzфzzzфzффzфЩ "Живой error.php приветствует мир!"

Пример:
localhost/стадо/deer "Error. Script return nothing"
localhost/стадо/оленей "Живой error.php приветствует мир!"

Параметры эксперимента:
• Исходник "error.php" в кодировке UTF-8 без BOM: <php header('content-type:text/plain;charset=utf-8'); echo 'Живой error.php приветствует мир!'; ?>
• Разумеется, Firefox только визуализирует кириллицу в строке адреса, а на самом деле там неявное percent-кодирование.
• Операционная система Windows XP SP3. Установлен VC2008 (ради PHP). Не установлен NET Framework (не требуется).

29/02/2020 13:44 Gyricon:
P. S. Точно также ведёт себя и более старая версия [SHTTPS 3.05.92]
02/03/2020 15:10 Max:
Проверил у себя с тестовым PHP файлом, у меня все работает с любыми ошибочными именами, единственное не возвращает заголовок если не указать его явно.

Если указать
echo "Content-Type: text/html\r\n\r\n<h1>Error 404 ...";
то браузер получает корректную страницу.

На всякий случай в тестовой версии 3.06.12test7, сделал, в случае вызова PHP, QUERY_STRING не просто имя файла вызвавшего ошибку, а err=имя_файла_вызвавшего_ ошибку.
Это ни на что не повлияло.
Думаю, убрать в финальном варианте 3.06.12

05/03/2020 03:08 kinsler:
И ошибка при работе через Cloudflare SSL: "Error run ****.php with "
Всё еще актуальна.
Без SSL проблем нет.
FTP не видит русские буквы.
Я снова откатился на 3.05.86
08/03/2020 03:31 Max:
Если в каких-то случаях php работает, а в каких-то нет, -- вероятно где-то (в настройках виртуального хоста или в настройке PHP интерпретатора) указаны относительные пути вместо абсолютных. Везде указывайте полные пути.

В версии 3.06.12test8 сообщение Error run ... дополнено полной командой запуска.
Посмотрите выпорнится ли эта команда без сервера, если запустить ее с командной строки.
08/03/2020 03:34 Max:
И кроме того в 3.06.12test8 в случае PHP скриптов, из команды запуска HTTP убран запрос. Может быть это поможет.
10/03/2020 05:04 kinsler:
Бинго! "Error run" исчезла.
16/03/2020 04:11 kinsler:
В настройках ftp выставил кодовую страницу utf и русские имена файлов стали корректными. Хотя в ранних версиях стояла настройка на win1251 и это не мешало жить (ибо сервер как раз под windows). Работает.

Пользователь: Пароль: Новый пользователь:   Запомнить пароль: