Пробелы в PHP вызывают бессмысленные ошибки?

Я редактирую файл functions.php темы WordPress и всякий раз, когда я редактирую его, даже когда редактирование добавляет один пробел, сервер возвращает

ошибка:

Parse error: syntax error, unexpected '}' in /theme/functions.php on line 1     

Вот где я добавляю один пробел:

<?php load_theme_textdomain('theme', get_template_directory() . '/languages'); 
 <— I added a single space here

и все умирает после этого. Это не постоянная ошибка, так как она исчезает после того, как я заменяю весь файл functions.php на резервную копию. Он только реплицируется, когда я редактирую файл, то есть, представлен даже с одним пробелом. Я использую NetBeans и CuteFTP для редактирования и загрузки файлов.

Что здесь происходит?! Это должно быть связано с каким-то качеством файла, так как с точки зрения кода код точно такой же... или, возможно, мой сервер.

Решение:
NetBeans по умолчанию использует определенную кодировку файлов для каждого проекта. Внешние файлы могут иметь другую кодировку, что может вызвать проблемы. Коди содержимое внешнего файла в новый пустой файл, который вы создали через Netbeans.

2 ответа

Решение

Это может быть ошибка кодирования. Возможно, когда вы пытаетесь редактировать файл, ваш текстовый редактор включает в себя спецификацию UTF-8 в верхней части.

РЕДАКТИРОВАТЬ

Только что нашел инструкции по сохранению как UTF-8 без спецификации в Notepad ++:

1) Нажмите "Формат". Выберите "Кодировать в UTF-8 без спецификации".

2) Нажмите "Настройки". Нажмите "Настройки". Нажмите "Новый документ / Открыть каталог для сохранения". Выберите "UTF-8 без спецификации".

(Источник: http://www.phpbb.com/community/viewtopic.php?f=66&t=1584655, 5-й ответ снизу)

Но кодировка, которую нужно установить, зависит от исходного файла. Если это не UTF-8, вы должны сохранить оригинальную кодировку (латинская 1 или любая другая).

Вы включаете это в нужном месте? Смотрите http://codex.wordpress.org/Function_Reference/load_theme_textdomain

Другие вопросы по тегам