Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: Ошибка синтаксиса на localhost-e  (Прочитано 1218 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн slo_nik

  • Автор темы
  • Активист
  • *
  • Сообщений: 489
    • Просмотр профиля
Ошибка синтаксиса на localhost-e
« : 03 Июня 2015, 00:41:23 »
Доброй ночи.
Возникла непонятная для меня проблема с работой сайта.

Есть рабочий сайт, но надо в него внести некоторые правки. Решил сделать это на локальном сервере.

Локальный расположен у меня в домашней директории и успешно работает.
Структура следующая:

/home/slonik/localhost/www/тут_куча_директорий_с_разными_сайтами
Если я размещаю сайт в отдельной директории по указанному выше адресу, то надо править кучу путей к файлам css, js, php и т.д.

Чтобы этого не делать решил создать отдельную корневую директорию. При попытке зайти на сайт выдаёт ошибку 500 и в лог пишет об синтаксической ошибке:
PHP Parse error:  syntax error, unexpected end of file in /home/slonik/localhost/public_html/index.php on line 224
Ошибка понятная и как исправлять её тоже, но! такая ошибка возникает только на локальном и только, если я в конфиге прописываю отдельную root директорию для сайта. На реальном сервере работает в основном домене, поддомене, вложенной директории(только пути к файлам надо править).

И я не пойму, почему возникает эта ошибка на локальном сервере в рабочих файлах?

Создал такую структуру для сайта

/home/slonik/localhost/htmldoc/тут_файлы_сайта
Отдельный конфиг в /etc/apache2/sites-available

<VirtualHost 127.0.0.2:80>
ServerAdmin webmaster@localhost

ServerName rudecom

DocumentRoot /home/slonik/localhost/htmldoc
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /home/slonik/localhost/htmldoc/>
Options +Indexes +FollowSymLinks -MultiViews
AllowOverride All
Order allow,deny
allow from all
Require all granted
</Directory>

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>

ErrorLog /home/slonik/localhost/error.log

</VirtualHost>

Включил этот виртуальный, всё работает, но выдаёт ошибку синтаксиса.

Пробовал создать отдельную директорию в домашней папке - результат тот же.

Подскажите, пожалуйста, как решить проблему?
Ubuntu 18.04 LTS | Intel® Core™ i5-6500 CPU @ 3.20GHz × 4 | GeForce GTX 1060 6GB/PCIe/SSE2 | RAM 16Gb | и ни в коем случае не пользуйтесь услугами uadomen.com

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
Re: Ошибка синтаксиса на localhost-e
« Ответ #1 : 03 Июня 2015, 00:58:17 »
ls -ld /home/slonik/localhost/htmldoc?
Wars ~.o

Оффлайн slo_nik

  • Автор темы
  • Активист
  • *
  • Сообщений: 489
    • Просмотр профиля
Re: Ошибка синтаксиса на localhost-e
« Ответ #2 : 03 Июня 2015, 02:22:49 »
ls -ld /home/slonik/localhost/htmldoc?

И что это даст?
Ubuntu 18.04 LTS | Intel® Core™ i5-6500 CPU @ 3.20GHz × 4 | GeForce GTX 1060 6GB/PCIe/SSE2 | RAM 16Gb | и ни в коем случае не пользуйтесь услугами uadomen.com

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
Re: Ошибка синтаксиса на localhost-e
« Ответ #3 : 03 Июня 2015, 02:54:33 »
а, никак.
Wars ~.o

Оффлайн slo_nik

  • Автор темы
  • Активист
  • *
  • Сообщений: 489
    • Просмотр профиля
Re: Ошибка синтаксиса на localhost-e
« Ответ #4 : 13 Июня 2015, 13:17:27 »
а, никак.

а по русски объяснить?
Ubuntu 18.04 LTS | Intel® Core™ i5-6500 CPU @ 3.20GHz × 4 | GeForce GTX 1060 6GB/PCIe/SSE2 | RAM 16Gb | и ни в коем случае не пользуйтесь услугами uadomen.com

Оффлайн jura12

  • Старожил
  • *
  • Сообщений: 1472
  • 24.04 lubuntu
    • Просмотр профиля
Re: Ошибка синтаксиса на localhost-e
« Ответ #5 : 13 Июня 2015, 13:40:24 »
я настраивал много сайтов на апаче, но на память ничего не помню. сейчас у меня работающая конфигурация такая для сайта http://localhost/phpinfo
(Нажмите, чтобы показать/скрыть)
файл имясайта.conf кладете в /etc/apache2/sites-avalable
потом включаете sudo a2ensite имясайта.conf

установленные модули
(Нажмите, чтобы показать/скрыть)
вы уж сами смотрите что у вас не так.
« Последнее редактирование: 13 Июня 2015, 13:48:04 от jura12 »
сопротивление бесполезно

Оффлайн slo_nik

  • Автор темы
  • Активист
  • *
  • Сообщений: 489
    • Просмотр профиля
Re: Ошибка синтаксиса на localhost-e
« Ответ #6 : 13 Июня 2015, 19:33:33 »
Так дело в том, что остальные работают без проблем
Ubuntu 18.04 LTS | Intel® Core™ i5-6500 CPU @ 3.20GHz × 4 | GeForce GTX 1060 6GB/PCIe/SSE2 | RAM 16Gb | и ни в коем случае не пользуйтесь услугами uadomen.com

Оффлайн virusoft

  • Активист
  • *
  • Сообщений: 324
    • Просмотр профиля
    • Virusoft
Re: Ошибка синтаксиса на localhost-e
« Ответ #7 : 13 Июня 2015, 20:11:12 »
slo_nik,
На своих сайтах, чтобы не было ошибок в нахождении пути, я объявляю переменную с путем доступа. Типа $hostname = Мой_сайт.
И в дальнейшем использую ее как путь к корневой директории сайта. Не важно локальном или глобальном.
У меня локальный сайт и глобальный расположен в квартире на выделенной машине.
Если работает - не трогай.

Оффлайн slo_nik

  • Автор темы
  • Активист
  • *
  • Сообщений: 489
    • Просмотр профиля
Re: Ошибка синтаксиса на localhost-e
« Ответ #8 : 13 Июня 2015, 22:23:24 »
slo_nik,
На своих сайтах, чтобы не было ошибок в нахождении пути, я объявляю переменную с путем доступа. Типа $hostname = Мой_сайт.
И в дальнейшем использую ее как путь к корневой директории сайта. Не важно локальном или глобальном.
У меня локальный сайт и глобальный расположен в квартире на выделенной машине.

Сайт разрабатывал не я, но такая переменная есть. Но всё равно, пути к css надо править.
И это же не главное, я не могу понять, что именно вызывает ошибку синтаксиса?
Как я понимаю, что если есть ошибка, то она при любом условии возникает, а эта только если в корень распаковать сайт...
Ubuntu 18.04 LTS | Intel® Core™ i5-6500 CPU @ 3.20GHz × 4 | GeForce GTX 1060 6GB/PCIe/SSE2 | RAM 16Gb | и ни в коем случае не пользуйтесь услугами uadomen.com

Оффлайн virusoft

  • Активист
  • *
  • Сообщений: 324
    • Просмотр профиля
    • Virusoft
Re: Ошибка синтаксиса на localhost-e
« Ответ #9 : 14 Июня 2015, 08:39:44 »
Сайт разрабатывал не я, но такая переменная есть. Но всё равно, пути к css надо править.
И это же не главное, я не могу понять, что именно вызывает ошибку синтаксиса?
Как я понимаю, что если есть ошибка, то она при любом условии возникает, а эта только если в корень распаковать сайт...
Ну так распакуй.
Если работает - не трогай.

Оффлайн kosteek

  • Участник
  • *
  • Сообщений: 193
    • Просмотр профиля
Re: Ошибка синтаксиса на localhost-e
« Ответ #10 : 14 Июня 2015, 09:31:17 »
victor0000 правильно дал команду, чтобы ты сам нашел у себя ошибку. А причина бональна - невнимательность.
Сравни путь где у тебя сайты находятся и путь который ты указал в настройках:
/home/slonik/localhost/www/
/home/slonik/localhost/htmldoc

Оффлайн slo_nik

  • Автор темы
  • Активист
  • *
  • Сообщений: 489
    • Просмотр профиля
Re: Ошибка синтаксиса на localhost-e
« Ответ #11 : 14 Июня 2015, 13:17:39 »
Сайт разрабатывал не я, но такая переменная есть. Но всё равно, пути к css надо править.
И это же не главное, я не могу понять, что именно вызывает ошибку синтаксиса?
Как я понимаю, что если есть ошибка, то она при любом условии возникает, а эта только если в корень распаковать сайт...
Ну так распакуй.
Так в корень и распаковал - ошибка.
Повторю, если по такому пути сайт лежит

/home/slonik/localhost/www/site/тут_файлы_сайта

то работает, а если по пути

/home/slonik/localhost/www/тут_файлы сайта

то выдаёт ошибку...

Ошибки нет в конфигурации.
В основном у меня все мои сайты лежат в

/home/slonik/localhost/www/

а для этого сайта я создал отдельную директорию

/home/slonik/localhost/htmldoc/

загрузил туда файлы, создал отдельный файл конфигурации с указанием пути к директории, но работать не хочет.
Не правильно сделал, не будет так работать?

Но даже если выгрузить файлы в основной каталог "www", то всё равно не работает...


Пользователь решил продолжить мысль 14 Июня 2015, 13:29:01:
victor0000 правильно дал команду, чтобы ты сам нашел у себя ошибку. А причина бональна - невнимательность.
Сравни путь где у тебя сайты находятся и путь который ты указал в настройках:
/home/slonik/localhost/www/
/home/slonik/localhost/htmldoc

Смотрите выше ответ.
Спасибо victor0000-у за ответ, но что можно понять в этой команде? Поэтому я и спросил, что это даст. Продолжить свою мысль vbictor0000 не захотел, типа я уже всё сказал. Хотя я понимаю так, если взялся помочь, то хотябы объясни, что получить нужно при помощи данной команды. Естественно я посмотрел в --help первым делом, но мало, что понял...

-l  использовать широкий формат
-d, --directory выдавать имена каталогов, а не их содержимое, а также не следовать по символьным ссылкам

вот что получилось

slonik@slonik-Lenovo-B570e:~$ ls -ld /home/slonik/localhost/htmldoc
drwxrwxr-x 19 slonik slonik 4096 Июн 13 19:14 /home/slonik/localhost/htmldoc
« Последнее редактирование: 14 Июня 2015, 13:29:01 от slo_nik »
Ubuntu 18.04 LTS | Intel® Core™ i5-6500 CPU @ 3.20GHz × 4 | GeForce GTX 1060 6GB/PCIe/SSE2 | RAM 16Gb | и ни в коем случае не пользуйтесь услугами uadomen.com

 

Страница сгенерирована за 0.019 секунд. Запросов: 22.