2014-02-07 2 views
5

Я пытаюсь установить phpMyAdmin на наш сервер debian. Я попытался загрузить его непосредственно через wget, загрузив его на свой Mac, а затем загрузив через FTP, оба раза получаю ту же ошибку ...PHP-файл, который объединяет файлы javascript, добавляет непечатаемые символы

Когда я пытаюсь загрузить страницу в веб-браузере (Safari, Chrome или IE 9) Я получаю пустой белый экран и ошибку в инспекторе (или консоли в зависимости от браузера).

SyntaxError: недопустимый символ '\ u0031' get_scripts.js.php: 19111

После того, что я получаю несколько JavaScript ошибки, связанные с тем, что JavaScript файлы не загружаются. Я видел эту ошибку один раз раньше, и проблема была связана с неправильными окончаниями строк. Я попытался установить это несколько разных способов. Поэтому я не вижу, чтобы контент был проблемой. Если это неверная строка endings для linux box, я не вижу, чтобы я был первым, кто опубликовал об этом.

Любые идеи?

Обновление: Мы провели много испытаний. Файл get_scripts.js.php объединяет файлы js, переданные ему через строку запроса, в один документ. В конце файла создается около 12 непечатаемых символов ... после вывода файла get_scripts.js.php. Когда мы вырезаем заголовки из выхода, их меньше, но все равно 1.

Вот где это странно. Когда я комментирую функцию read file() (которая выводит javascript), символы остаются, когда я вырезаю новые строки, которые разделяют файлы js, символы остаются. Когда я разрезал оба, они уходят.

У меня есть ощущение, что это веб-сервер, PHP или файловой системы связаны между собой, но это не происходит ни на одном из других страниц на хосте ....

Любые идеи сейчас?

ответ

8

Я видел это раньше, это была проблема с тем, как веб-сервер считывает тип mime файла в системе по сравнению с тем, как браузер клиента принимает его.

Например, если /etc/mime.types отображает js-файлы как «application/javascript», и вы отправляете заголовки для «text/x-javascript», будет проблема с двоичным преобразованием, и в результате появятся нечетные символы в ваших файлах.

Попробуйте изменить /etc/mime.types, чтобы включить (или заменить) javascript как text/x-javascript. Если эта работа не пытается добавить типы apache.

+1

Святое дерьмо ... это было исправление ... Не все ли проблемы с использованием Deb 7 имеют эту проблему? Я даже не видел, как apache использует файл system /etc/mime.types ... кто знает. В любом случае .. изменение javascript на текст в /etc/mime.types исправил его для кого-то еще с этой проблемой. – whiteatom

+0

Оказывается, «text/javascript» следует добавить в список mime.types ... – David

-2

У меня возникла проблема с phpmyadmin 4 + debian 7. Изменение /etc/mime.types не помогло, главным образом потому, что js/get_scripts.js.php переопределяет заголовок.

Я перешел с libapache2-mod-php5filter на libapache2-mod-php5, и он сразу работает.

Просто введите apt-get install libapache2-mod-php5. Он автоматически удалит php5filter и перезапустит apache.

Смежные вопросы