![]() |
Модераторы: ZeeLax, powerfox |
![]() ![]() ![]() |
|
WolfAlone |
|
|||
![]() В экстазе ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1010 Регистрация: 16.9.2008 Где: Рай Репутация: нет Всего: 5 |
Доброй ночи! Сложилась примерно такая ситуация. Обратился человек, с очень странным вопросом: "почему вместо сайта белый лист"... Посмотрели вместе, действительно, белый экран. В браузер не выдаётся вообще ничего, при этом Google Chrome говорит, что на сервере произошла ошибка 500. Взяли его исходники, загрузили на другой хостинг - всё работает. Загрузили ещё на 4 хоста - всё работает. Стали выяснять, почему не работает у него...
Оказалось, что закачать исходники он пытается на VPS. При этом, разница между "закачкой в другое место" и закачкой на VPS заключалась в том, что файлы передавались по протоколу SFTP, а не просто FTP. 1. Настроил логи апача - в логах пусто. Ошибок нет. 2. Включил отображение ошибок в PHP, везде, где это только было возможно - ошибок нет. 3. Я подумал, что не работает Apache... Загрузил туда файл:
всё работает! 4. Выяснил, что из себя представляет его исходник... Оказалось, исходник - это некий проект на CodeIgniter... Взяли "чистую" версию CodeIgniter, закачали на его сервер - всё прекрасно работает. 5. Загрузили его код ещё раз на другой сервер (через FTP) - всё работает отлично. 6. Загружаем к нему на сервер, через SFTP, его код ещё раз - эффект: "белый экран". При этом, загрузка оригинального кода фреймворка всё через тот же SFTP - приносит положительный результат (FTP/SFTP-клиент: FileZilla) В какой-то момент, я вспомнил, что FTP-сервер, при загрузке файлов, принимает файлы в двух режимах: "бинарный" и "текстовый". При этом, текстовые файлы, проходят некоторую перекодировку (подозреваю, что перекодируются они в какую-то однобайтовую кодировку). Открываю файлы CodeIgniter, смотрю оригинальную кодировку, редактор показывает: "ANSI". Открываю его проект, смотрю кодировку правленых файлов: "UTF-8". Подозреваю, что такой эффект возникает в следствии того, что файлы не были правильно перекодированы, так как SFTP в отличии от обычного FTP не производит подобных манипуляций (это моё умозаключение, поправьте пожалуйста, если я ошибаюсь). На такую мысль меня навёл личный опыт (однажды, я загрузил файл .htaccess, [который был написан в кодировке UTF-8] в бинарном режиме и Apache после этого "сломался"). Установить FTP-сервер, по каким-то не ведомым мне причинам - не представляется возможным. "Нужно, что бы всё работало как есть". Вопрос: подскажите пожалуйста, есть ли какой-нибудь выход из сложившейся ситуации? Возможно, есть какой-то готовый скрипт, который можно запустить (зайдя на сервер по SSH), который бы просканировал указанную директорию и привёл бы все файлы PHP к правильной кодировке? Или дело вообще не в этом? -------------------- И сказал Бог: "Тогда я построю свой мир с блэк-джеком и шлюхами!" Ф топку Ubuntu, Debian наше фсё! (с) Евгений Вольф |
|||
|
||||
bobik02 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 451 Регистрация: 26.11.2007 Репутация: нет Всего: 14 |
По поводу перекодировки iconv .
-------------------- Have a nice day |
|||
|
||||
1000000dollars |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 231 Регистрация: 6.10.2007 Репутация: 1 Всего: 8 |
Это не так. В бинарном режиме файлы заливаются байт-в-байт, а в текстовом меняются только коды перевода строк. Что касается кодировок, то если используется UTF-8, то имеет смысл проверить нет ли в начале BOM (если есть - убрать его). |
|||
|
||||
WolfAlone |
|
|||
![]() В экстазе ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1010 Регистрация: 16.9.2008 Где: Рай Репутация: нет Всего: 5 |
BOM в начале нет, проверил. Если меняются только коды перевода строк, может ли это привести к тому, что вместо "хотя бы чего-нибудь" мы видим "чистый лист"? То есть, в браузер не выдаётся вообще ничего. При этом, ошибок ни сам PHP, ни Apache тоже не выдаёт (логи и отображение ошибок - включены). Или... если поставить вопрос по другому: из за чего такое вообще может произойти? -------------------- И сказал Бог: "Тогда я построю свой мир с блэк-джеком и шлюхами!" Ф топку Ubuntu, Debian наше фсё! (с) Евгений Вольф |
|||
|
||||
1000000dollars |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 231 Регистрация: 6.10.2007 Репутация: 1 Всего: 8 |
В access log апача запросы видны?
Если нет - разбираемся почему запросы не доходят до сервера (резловится не правильно, файерволлы блокируют, нестандартный порт апача, nginx, ещё что-то..). Если да - то: 1) проводим HTTP сессию через telnet и смотрим что отдаёт (и отдаёт ли вообще) сервер. 2) провеяем соответствие переводов строк на сервере 3) проверяем контрольные суммы файлов (с учётом переводов строк) Результаты исследования - сюда, будем смотреть. |
|||
|
||||
WolfAlone |
|
|||
![]() В экстазе ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1010 Регистрация: 16.9.2008 Где: Рай Репутация: нет Всего: 5 |
Благодарю всех за участие, проблема решилась! Судя по всему, дело было в исходном коде. Прогнал весь код через программу "удаления пробелов", исходник "похудел" в 1,5 раза и стал работать нормально... Потом прогнал ещё раз, для расстановки всех переводов строк, отступов и пр. - получился читабельный, рабочий код.
Один только вопрос мне теперь не даёт покоя. Что же за такой престранный символ, мог залететь в исходник, что "ложился" сервер? P.S. На наличие "BOM" файлы проверял специально все, его точно нигде не было! -------------------- И сказал Бог: "Тогда я построю свой мир с блэк-джеком и шлюхами!" Ф топку Ubuntu, Debian наше фсё! (с) Евгений Вольф |
|||
|
||||
1000000dollars |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 231 Регистрация: 6.10.2007 Репутация: 1 Всего: 8 |
||||
|
||||
![]() ![]() ![]() |
Правила форума "Linux/UNIX: Oбщие вопросы" | |
|
В этом форуме предпочтительны вопросы на следующие темы:
За интересные статьи, находки, решения, программы и просто реальную помощь будут ставиться + в репу). В данный момент этот раздел модерируют nerezus, nickless, powerfox, pythonwin, Imple и ZeeLax. Если вы хотите помочь нам, пишите в ПМ и мы обсудим. Спасибо. И use UNIX or die; С уважением, nerezus, nickless, powerfox, pythonwin, Imple, ZeeLax. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Программное обеспечение под *NIX системы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |