У меня есть файл PHP для моего веб-сайта index.php, который, если он установлен на сервере, работает правильно, никаких ошибок не возникает, и страница загружается как следует.
Сервер являетсяСервер Linux работает под управлением Apache, а мой локальный компьютер - компьютер с Windows.Используя Windows-клиент FileZilla, я загружаю index.php и открываю файл в Notepad ++ в Windows.Я сохраняю этот файл в Windows, а затем загружаю и перезаписываю файл на сервере.Страница теперь не загружается, с этой ошибкой на странице:
Parse error: syntax error, unexpected $end in /path/to/my/site/index.php on line 1
Я немного погуглил эту ошибку, и все ответы, с которыми я столкнулся подробночто это либо проблема с короткими тегами PHP (замена <?
на <?php
, но файл не содержит никаких коротких тегов), либо случайные скобки где-то в файле (но я проверил, и все скобки правильно сопоставлены).Кроме того, я не касаюсь самого источника и просто сохраняю файл после его открытия, поэтому, поскольку он работает до локального сохранения Windows, а не после него, я должен верить, что это проблема с окончанием строки между Windows и Unix.
Еще более удивительным является то, что мне удалось создать test.php
, который просто называется phpinfo()
, и сохранить его в Windows и загрузить, и страница корректно загружается, когда я вызываю ее из моего веб-браузера.Эта проблема должна быть связана с тем, как Notepad ++ переводит файл, созданный не в Windows, с окончаниями строк на основе Unix или Mac, в окончания строк Windows, и он каким-то образом перекрывается.
Есть идеи?Я постараюсь предоставить больше информации, если я что-то пропустил, но я действительно не думаю, что источник здесь необходим.