Внутрь public_html нужно класть весь проект
В том то и проблема, что я так делал, а затем делал редирект через ИндексДериктору внутри htaccess на точку входа. Но мне не понравился результат. Мне приходилось ручками менять все ссылки на подключаемые ресурсы с /css/resurs.css на public/css/resurs.css. Это явный фейл. Как только я что-то отредактирую в шаблоне, так после копирования файла все это проделываю заново.
на Бегете доступны директории выше корня вебсервера
А подскажите пошагово что нужно подправить у себя при переносе, а что на самом хостинге? Первый раз делаю, уже чего только не пробовал. Везде дают разные советы, разные настройки htaccess. Перепробовал их, что-то не так делаю. А пробовать всевозможные комбинации, которые советуют — это можно недели убить.
Один из вопросов: нужно ли как-то после переноса системы запускать установку и апдейт композера? Вопрос возник вчера после того, как я заархивировал весь проект товарищу и он не смог запустить его у себя на локалхосте. После установки и апдейта композера все заработало. Пожет мне что-то подобное нужно сделать и на хостинге?
Вот что я исправлял у себя в проекте перед переносом:
В index.php
$this->app->bind(‘path.public’, function() {
return _DIR_ . ‘/../../public_html’;
});
В файле webpack.mix.js в начале mix.setPublicPath(‘public_html’);
Этого достаточно?
и + если тариф не бесплатный можно направить вебсервер на любую директорию
у меня первый месяц бесплатный
При отправке сообщений с сайта (из формы обратной связи) выскакивает ошибка 500.
local.ERROR: Connection could not be established with host smtp.beget.com :stream_socket_client():
SSL operation failed with code 1. OpenSSL Error messages:
error:1408F10B:SSL routines:ssl3_get_record:
wrong version number {"exception":"[object] (Swift_TransportException(code: 0):
Connection could not be established with host smtp.beget.com
:stream_socket_client(): SSL operation failed with code 1.
OpenSSL Error messages:
error:1408F10B:SSL routines:ssl3_get_record:wrong version number at
vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/StreamBuffer.php:261)
Настройки файла .env
MAIL_MAILER=smtp
MAIL_HOST=smtp.beget.com
MAIL_PORT=465
MAIL_USERNAME=smtp@secret.ru
MAIL_PASSWORD=myPassword
MAIL_ENCRYPTION=ssl
MAIL_FROM_ADDRESS=smtp@secret.ru
MAIL_FROM_NAME="${APP_NAME}
Настройка файла config/mail.php
'transport' => 'smtp',
'host' => env('MAIL_HOST', ''),
'port' => env('MAIL_PORT', 465),
'encryption' => env('MAIL_ENCRYPTION', ),
'username' => env('MAIL_USERNAME'),
'password' => env('MAIL_PASSWORD'),
'timeout' => null,
'auth_mode' => null,
Контролер FeedBackMessage.php
Mail::send('email', [
'name' => $request->get('name'),
'email' => $request->get('email'),
'street' => $request->get('street'),
'number' => $request->get('number'),
'themes' => $request->get('themes'),
'msg' => $request->get('msg')
],
function ($message) {
$message->from('smtp@secret.ru');
$message->to('smtp@secret.ru')
->subject('Сообщение с сайта');
}
);
До вчерашнего вечера все было хорошо, но были настройки для YandexMail. Далее днем пришло сообщения от вышеупомянутых ям, что мол много спама, и ящик пока что будет в блоке.
Решил сменить настройки почты на те что предоставил хостинг, все данные вносил согласно инструкциям, но вот Laravel выдает 500 ошибку при отправке почты из формы.
За последние 24 часа нас посетили 8777 программистов и 855 роботов. Сейчас ищут 373 программиста …
-
ghosttim
Активный пользователь- С нами с:
- 26 мар 2014
- Сообщения:
- 22
- Симпатии:
- 0
Всем привет. Была задача скопировать рабочий сайт на laravel, для доработки, на локальный компьютер. Потом залил обратно на рабочий хостинг, но появилась ошибка 500 (все страницы + админка) В чем может быть причина?
error.log (apache)
-
[Fri Sep 15 12:15:59.713306 2017] [:error] [pid 7501] [client 66.249.76.32:58378] PHP Fatal error: Uncaught exception ‘UnexpectedValueException’ with message ‘The stream or file «/var/www/site.ru/storage/logs/laravel.log» could not be opened: failed to open stream: Permission denied’ in /var/www/site.ru/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php:107nStack trace:n#0 /var/www/site.ru/vendor/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php(37): Monolog\Handler\StreamHandler->write(Array)n#1 /var/www/site.ru/vendor/monolog/monolog/src/Monolog/Logger.php(336): Monolog\Handler\AbstractProcessingHandler->handle(Array)n#2 /var/www/site.ru/vendor/monolog/monolog/src/Monolog/Logger.php(615): Monolog\Logger->addRecord(400, Object(Symfony\Component\Debug\Exception\FatalErrorException), Array)n#3 /var/www/site.ru/vendor/laravel/framework/src/Illuminate/Log/Writer.php(202): Monolog\Logger->error(Object(Symfony\Component\Debug\Exception\FatalErrorException), Array)n#4 /var/www/site.ru/vendor/laravel/framework/src/Illuminate/Log/Writer.php(113): Illuminate\Log\Writer->write in /var/www/site.ru/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php on line 107
-

Ну а прочесть то не пробовали?
Нормально же пишет — что не может записать — нет прав
После копирования проекта на хост похоже не проставили нужные права нужным папкам (надеюсь вы знаете каким папкам в Ларавеле ставить 755) -

ghosttim
Активный пользователь- С нами с:
- 26 мар 2014
- Сообщения:
- 22
- Симпатии:
- 0
Поставил права 777, все равно
-

1. Нужно поставить именно на те папки на которые нужно
2. Надеюсь корень сайта настроен на папку public ?
3. Переменные настроены верно в .env ? -
ghosttim
Активный пользователь- С нами с:
- 26 мар 2014
- Сообщения:
- 22
- Симпатии:
- 0
1. На все где ошибки
2. Структура сайта не менялась. public там же как и на старом
3. Переменные тоже не менялись в .envСейчас на хостинга 2 папки с сайтом. Меняю названия папок (site.ru -> site.ru_old, site.ru_new — site.ru) — ошибка
-

поставил 777 — все равно ошибки
— какие ошибки? так же — что нет прав доступа? Покажите лог -

ghosttim
Активный пользователь- С нами с:
- 26 мар 2014
- Сообщения:
- 22
- Симпатии:
- 0
Проблема решилась перезагрузкой сервера. Спасибо
-
Команда форума
Модератор- С нами с:
- 11 июн 2010
- Сообщения:
- 10.818
- Симпатии:
- 1.171
- Адрес:
- там-сям
кроме атрибутов доступа есть еще владелец. ты мог создать файлы от имени, скажем, рута, а вебсервер и пхп используют учетку непревилегированного пользователя. проверь.
— Добавлено —фигасе. перезагрузка исправила проблему доступа?
-

gruth
Активный пользователь- С нами с:
- 13 май 2017
- Сообщения:
- 224
- Симпатии:
- 18
Ну может у него лог который не отрывался, либо через пхп либо через htaccess перенастроен. И это логично, потому как всегда когда добавляется новый хост со своими логами (или меняются только логи) сервер нужно релоадить.
Osman Forhad
Posted on Jan 20, 2021
• Updated on Mar 12, 2022
Basically, internal server error 500 is Laravel errors it’s not related to javascript or any other, to check this error go to chrome inspect->network and see the response.
it would be looks like the below screenshot.

This type of issue must be in controller related issue to solve this you have to check your controller function is written well,
.
and then you should check your router file whether (web.php or api.php) where you mention your controller file is properly.
.
If you are confused about why it’s happened and it too much worries you.
.
Here is another easy method to find out what is happening wrong. And this is your Laravel log file. Please check your Laravel log file. Hope you will find out your issue and solve it properly.
.
Happy Coding.
osman forhad
Mobile & Web Application Developer💻
Read next

Follow Up: Establishing A Better Pattern
Wesley Powell — Sep 9 ’22

How to create a multiple-page application with Laravel 9 and Vue 3
Balaji Dharma — Sep 8 ’22

How to get started with Filament
Amela🦦 — Sep 7 ’22

Generating PO files with Laravel & translating Blade templates
Agence Appy — Sep 7 ’22
Once unpublished, all posts by osmanforhad will become hidden and only accessible to themselves.
If osmanforhad is not suspended, they can still re-publish their posts from their dashboard.
Note:
Once unpublished, this post will become invisible to the public and only accessible to Osman Forhad.
They can still re-publish the post if they are not suspended.
Thanks for keeping DEV Community 👩💻👨💻 safe. Here is what you can do to flag osmanforhad:
Make all posts by osmanforhad less visible
osmanforhad consistently posts content that violates DEV Community 👩💻👨💻’s
code of conduct because it is harassing, offensive or spammy.
Laravel по-русски
Русское сообщество разработки на PHP-фреймворке Laravel.
#1 06.11.2017 10:24:01
Перенос проекта на beget. Получаю 500 ошибку
Столкнулся с проблемой при переносе сайта на хостинг. Тестовая страница запускается, т.е. сам хостинг работает норм. Переношу содержимое своей директории public внутрь public_html. К индексному файлу получается такой путь /public_html/index.php. Сам .htaccess тоже лежит внутри public_html, его содержимое идентичное как на гитхабе. Все остальные файлы и директории лежат в корне. Т.е. при переносе вся иерархия сохранена, только переименована директория public. В индексном файле и в webpack.mix.js подправил путь на public_html. При запуске сайта получаю 500. Причем удаление .htaccess никак не влияет — тоже 500. Если же удалю содержимое index.php, и просто напишу текст, то страница загружается, т.е. сайт как бы работает. Установлен ларавель один из последних (кажется 5.4), php 7.1.
Включил логи на хостинге. Но лог с ошибками пуст, лог, где отображаются посетители, показывает мой юзерагент.Лог в самом ларавеле не меняется после безуспешной попытки загрузить сайт.
И ещё, пробовал посмотреть где запинается index.php при загрузке, после каждой строки натыкал echo. Так вот успешно выполняются первые две строки дефайн и подключение автолоада. А вот до кода, который расположен под подключением бутстрапа дело не доходит.
Какие есть идеи, что могло сломаться? Может посоветуете какие способы диагностики?
Не в сети 06.11.2017
#2 07.11.2017 14:39:50
Re: Перенос проекта на beget. Получаю 500 ошибку
Внутрь public_html нужно класть весь проект. htaccess’ом , либо настройками сервера направлять запросы в public_html/public/index.php
Не в сети 16.06.2017
#3 07.11.2017 17:59:37
Re: Перенос проекта на beget. Получаю 500 ошибку
не нужно класть весь проект в корневую директорию сервера
на Бегете доступны директории выше корня вебсервера
и + если тариф не бесплатный можно направить вебсервер на любую директорию
Не в сети 24.04.2013
#4 08.11.2017 00:59:03
Re: Перенос проекта на beget. Получаю 500 ошибку
Внутрь public_html нужно класть весь проект
В том то и проблема, что я так делал, а затем делал редирект через ИндексДериктору внутри htaccess на точку входа. Но мне не понравился результат. Мне приходилось ручками менять все ссылки на подключаемые ресурсы с /css/resurs.css на public/css/resurs.css. Это явный фейл. Как только я что-то отредактирую в шаблоне, так после копирования файла все это проделываю заново.
на Бегете доступны директории выше корня вебсервера
А подскажите пошагово что нужно подправить у себя при переносе, а что на самом хостинге? Первый раз делаю, уже чего только не пробовал. Везде дают разные советы, разные настройки htaccess. Перепробовал их, что-то не так делаю. А пробовать всевозможные комбинации, которые советуют — это можно недели убить.
Один из вопросов: нужно ли как-то после переноса системы запускать установку и апдейт композера? Вопрос возник вчера после того, как я заархивировал весь проект товарищу и он не смог запустить его у себя на локалхосте. После установки и апдейта композера все заработало. Пожет мне что-то подобное нужно сделать и на хостинге?
Вот что я исправлял у себя в проекте перед переносом:
В index.php
$this->app->bind(‘path.public’, function() <
return _DIR_ . ‘/../../public_html’;
>);
В файле webpack.mix.js в начале mix.setPublicPath(‘public_html’);
Этого достаточно?
и + если тариф не бесплатный можно направить вебсервер на любую директорию
Источник
Ошибка сервера 500: что означает и когда она возникает
От ошибки с кодом 500 не застрахован ни один веб-ресурс. Если она возникает, доступ к сайту теряют все его пользователи. В статье мы рассказываем, что делать при обнаружении ошибки 500 Internal Server Error и как попытаться исправить ее своими силами.
Что значит ошибка 500
Ошибка 500, или 500 Internal Server Error — это внутренняя серверная проблема, ее возникновение обусловлено тем, что от клиента (браузера, десктопной программы и т. п.) в сторону сервера поступает запрос, а сервер не может корректно его обработать.
В итоге возникает сообщение вида:
Популярная причина возникновения 500-й ошибки— ошибки в синтаксисе файла.htaccess. Также она появляется, если на сервере некорректно выполняются скрипты или же есть проблемы с правами доступа к файлам и папкам.
Обратите внимание, что за 500-ю ошибку (как и другие ошибки, начинающиеся с «пятерки») несут ответственность либо администраторы сервера, либо веб-разработчики. И только в исключительных случаях — пользователи.

Что не поможет, если возникла 500-я ошибка
- Перезагрузка компьютера. В сетевой архитектуре он является клиентом, т.е. не он вызывает проблему.
- Смена браузера. Даже если до этого Google Chrome всегда помогал, когда подводил Firefox, в этот раз он едва ли поможет. Еще и на программу просто так обидитесь!
- Переустановка программного обеспечения. Это будет иметь призрачный шанс на успех, если только у вас установлено совсем старое ПО, которой разработчики в принудительном порядке закрыли доступ в интернет.
- Перезагрузка роутера / перетыкание проводов. Это решение для неисправности сети в целом — и то не всегда.

- Теперь Вы можете читать последние новости из мира интернет-маркетинга в мессенджере Telegram на своём мобильном телефоне.
- Для этого вам необходимо подписаться на наш канал.
Как действовать, если ошибка 500 появилась на чужом сайте
- Выждать. Если вы не являетесь администратором ресурса, то не сможете посмотреть и изменить файл настроек, покопаться в сайте и попытаться исправить что-то там и т. п. Ждем, когда администратор решит проблему, и через некоторое время повторяем попытку открыть нужную страницу.
- Связаться с техподдержкой. Конечно, здорово, когда за сайтом следят в режиме 24/7, но бывает и так, что администратор просто отсутствовал на месте и не знает, что сайт уже 2 часа как «лежит».
Если вам позарез нужна нужная страница, можно открыть ее сохраненную копию:
Как действовать, если ошибка 500 появилась на вашем сайте
Лучше всего быть подготовленным к такому, когда у вас свой сайт, потому что будет известна CMS, хостинг, последние изменения на сайте, установленные плагины или виджеты и т. д.
Как бы то ни было, для любого типа веб-ресурса можно предпринять универсальные действия. Оптимально будет проделать все действия, чтобы исключить возможные источники появления 500-й ошибки.
Посмотрите, что в файле .htaccess
У всех сайтов на Apache при получении FTP-доступа можно увидеть в корневой папке файл .htaccess, содержащий все серверные настройки.
Этот файл с моего сайта выглядит следующим образом:
Чаще всего сайты могут функционировать и без него. То есть вы можете добавить в имя файла какой-то символ (например, .htaccess 1) и потом снова зайти на проблемную страницу.
Если все грузится нормально, проблема была именно в файле. Значит, надо внимательно просмотреть его синтаксис: где-то допущена ошибка в символах. Если вы недавно вносили в файл изменения, попробуйте вернуть его в предыдущее состояние.
Также в ряде случаев можно найти строку, которая начинается с Options (вы можете увидеть ее на изображении выше) и закомментировать ее с помощью символа решетки — «#». Если не помогло, комментируйте другие строки в файле, а потом по очереди снимайте «решетку» — возможно, так вы выявите ошибочную запись.
Также дело может быть в разграничении прав доступа при внесении изменений в файл. У хостера может стоять запрет на изменение содержимого файла. Надо скачать файл на свой ПК и через «Блокнот», Notepad++ или любой другой текстовый редактор изменить .htaccess и загрузить на сайт с заменой предыдущей версии файла.

Изучите лог ошибок сервера
Если на своем сайте вы что-то недавно меняли, это также могло повлечь 500-ю ошибку. В этом случае нужно идти в журнал сайта (он же — лог) и смотреть, есть ли там записи о проблемах. Если что-то обнаружите, можно попытаться вернуть все переделанное на исходные позиции.
В настройках хостинговых провайдеров можно найти информацию о путях размещения логов и о том, как получить к ним доступ.
Удалите или отключите недавно установленные плагины или компоненты
Если у вас на сайте (WordPress — ярчайший пример) установлено много плагинов, они могут вступить в конфликт и блокировать действия друг друга. Такое может привести к уже ставшей родной ошибке 500 и прочим неприятностям.
Если вы на днях установили какой-то плагин или обновили один из имеющихся (а то и не один), нужно последовательно их деактивировать и проверить, исчезнет ли ошибка. Не исключено, что у вас появятся ошибки в функциональности сайта, но если при этом исчезнет 500 Internal Server Error, дело в плагинах. Удалите их / обновите / найдите или установите альтернативу.

Оптимизируйте скрипты
Если на сайте есть исполняемые скрипты и они начали ненормально долго выполняться или требовать большее количество ресурсов, надо посмотреть их содержимое. Может быть просто банальное нагромождение кода, который нужно очистить от мусора и тем самым достичь экономии оперативной памяти и ресурсов процессора.
При использовании виртуального хостинга проблема нехватки ресурсов бывает особенно актуальной. Такой тип хостинга фиксирует выделяемый объем памяти, чтобы разделить свои вычислительные ресурсы между все пользователями реального сервера.
Решением будет блочное разделение скрипта с проверкой качества работы каждого блока. Вас должно насторожить, если запрашиваемые объемы памяти растут и / или к серверу поступает чересчур много вызовов.

Увеличьте объем оперативной памяти сервера
Время на пару с информационными технологиями несется вдаль, а значит и оптимизированные скрипты могут запрашивать много памяти. Если вам очень важна стабильность, надо просто выбрать более дорогой тариф, где сервер выделит вам в 2–3 раза больше памяти, чем сейчас. Также надо смотреть на опции того или иного тарифного предложения, чтобы убрать по возможности то, что вам не требуется.
Запросите поддержку
Нет ни одного уважающего себя хостера без мощной службы технической поддержки. Есть масса тематических форумов, которые по косточкам разбирают проблемы разных типов сайтов на с разными административными панелями:
Если поддержка все же долго отвечает, можно посмотреть нужную ветку форума: найти там ответ или же задать свой вопрос.
Можно также запросить консультацию у частных специалистов, но это будет стоить денег и не факт, что они решат проблему с 500-й ошибкой.
Итоги. 6 рекомендаций по исправлению 500 Server Internal Error
Напомним, что пятисотая ошибка возникает на стороне сервера, т.е. проблему надо искать и устранять не на собственном ПК или ноутбуке, а на веб-сервере.
Тем не менее, вы можете попробовать сделать эти шаги, чтобы ускорить устранение ошибки:
- Просто перезагрузите нужную страницу с помощью клавиши F5 или клавиатурного сочетания Ctrl-К. Также можно повторить ввод адреса в строку браузера (иногда одно это снимает проблему, потому что вы просто ошиблись с его содержимым).
- Серверная ошибка может быть оперативно устранена техподдержкой сервера. Порой сбойная страница спокойно загружается уже через пять минут. Свяжитесь с представителями ресурса. Если там работают ответственные люди, они наверняка в курсе возникшей проблемы и пытаются ее решить. Если же не в курсе, вы можете стать «спасителем» и косвенно способствовать восстановлению работоспособности страницы. Если сайт весь ушел в 500-ю ошибку, можно узнать владельцев сайта через специальный сервис и попробовать написать им по электронной почте или даже позвонить.
- Из сферы ecommerce: допустим, вы оформляете заказ на маркетплейсе, а в это время на странице появляется 500 Internal Server Error. Если не остановиться и продолжать делать заказ, очень может статься, что вы создадите и подтвердите сразу несколько заказов одного и того же товара, причем все они будут оплачены. Да, почти все площадки онлайн-торговли имеют защиту от дублирующихся транзакций, но все же нужно иметь подобное в виду и не пытаться завершить заказ, если такая ошибка возникла во время его совершения.
- Проведите чистку браузера. Дело в том, что целевая страница может закешироваться и все время отдавать 500-ю ошибку. Конечно, проблемы со стороны сервера редко связаны с кешированием, но все же стоит воспользоваться встроенным инструментарием браузера для очистки кеша или специализированным ПО типа CCleaner или Reg Organizer.
- Удалите все cookie-файлы. Иногда это также помогает устранить неполадки, которые связаны с 500-ой ошибкой. Это можно сделать с помощью озвученных в предыдущем пункте программ. Главное, чтобы браузер был закрыт. После этого нужно снова его открыть и заново загрузить нужную страницу.
- Просто выждите некоторое время. Почти всегда дело не в вас, и остается просто перетерпеть неприятность. Можно также посмотреть похожие на целевую страницы, если это возможно.
Источник
В чем причина появления ошибки 500 «Internal Server Error»
Если вы не имеете никакого отношения к сайту, на котором возникла данная ошибка, то вам просто нужно ждать, пока администратор изменит ситуацию и сайт вновь возобновит свою работу. Но в том случае, если вы являетесь владельцем сайта, на котором возникла ошибка 500 «Internal Server Error», постарайтесь вспомнить, какие именно изменения и когда вы вносили до появления ошибки. Если вы ничего не меняли на самом сайте и не вносили изменений в файлы, и не знаете почему возникает ошибка 500 то, скорее всего, это может быть одна из следующих причин:
Файл .htaccess используется с недопустимой инструкцией. Чаще всего инструкции php_value и php_flag допускаются только в mod_php, который на хостинге может не использоваться. В CGI или FastCGI такие инструкции показывают ошибку.
Медленная работа скрипта. Например, есть ограничения от веб-сервера: если скрипт не активен в течение 60 секунд или зависает, то он завершается под видом ошибки 500.
Скрипт требует намного больше памяти, чем это разрешено по тарифному плану. Кроме внутреннего PHP лимита памятина хостинге установлен менеджер, контролирующий используемое скриптами количеством памяти. Если скрипт требует для своей работы слишком много памяти, его активность принудительно завершается менеджером.
В панели управления включена несовместимость расширений. Могут быть одновременно включены eaccelerator и APC, или же eaccelerator и XCache, что будет приводить к ошибке Segmentation Fault, а эта ошибка приведет к ошибке 500 «Internal Server Error».
Скрипт возвращает HTTP-заголовки, которые веб-сервер не может распознать и не понимает, как их интерпретировать. Если вы установили новый скрипт, проверьте все переменные и протестируйте его работу.

Пример ошибки :
. Invalid command ‘DirectoryInex’, perhaps mis-spelled or defined by a module not included in the server configuration.
Веб-сервер обращает ваше внимание на то, что правило «DirectoryIndex» прописано с ошибкой или же не включено в настройках самого сервера.
Также обратите внимание на то, чтобы в файле .htaccess не было следующих параметров (их можно просто удалить):
Приведем такой пример:
php _ flag register _ globals On
После изменения оно будет выглядеть так:
# php _ flag register _ globals On
Если по какой-то причине не помогло все, что вы делали, обратитесь в техподдержку хостера и задайте вопрос, почему возникает ошибка 500 internal server error .
Еще рассмотрим вариант, если вы ошиблись и поместили некорректную инструкцию в файл .htaccess. В файле error.log вы найдете приблизительно такое:
[Wed Apr 8 20:01:58 2018] [alert] [client 217.16.16.16] /home/uXXXXX/ ваш _ домен .ru/www/.htaccess:
Invalid command ‘DrectoryIndex’, perhaps mis-spelled or defined by a module not included in the server configuration
Сервер укажет на ошибку, и вам только останется её исправить.
В приведенном примере веб-сервер показал, что команда DrectoryIndex ему не знакома.
И правда, такой инструкции, как DrectoryIndex нет – есть DirectoryIndex. Вся проблема в опечатке.
Источник