/ домой \ | \ темы / |
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). Работает.
|