За последние 24 часа нас посетили 17286 программистов и 1231 робот. Сейчас ищут 506 программистов …
-
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:107\nStack 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.980
- Симпатии:
- 1.212
- Адрес:
- там-сям
кроме атрибутов доступа есть еще владелец. ты мог создать файлы от имени, скажем, рута, а вебсервер и пхп используют учетку непревилегированного пользователя. проверь.
— Добавлено —фигасе. перезагрузка исправила проблему доступа?
-
gruth
Активный пользователь- С нами с:
- 13 май 2017
- Сообщения:
- 224
- Симпатии:
- 18
Ну может у него лог который не отрывался, либо через пхп либо через htaccess перенастроен. И это логично, потому как всегда когда добавляется новый хост со своими логами (или меняются только логи) сервер нужно релоадить.
Внутрь 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’);
Этого достаточно?
и + если тариф не бесплатный можно направить вебсервер на любую директорию
у меня первый месяц бесплатный
My laravel 5 project is works well on localhost. After moving the project to the server it shows an internal server error.
Error message
The server encountered an internal error or misconfiguration and was unable to complete your request.
I checked the requirements. All requirements are correct.
PHP = 5.5
Mcrypt PHP Extension = Enabled
OpenSSL PHP Extension = Enabled
Mbstring PHP Extension = Enabled
Tokenizer PHP Extension = Enabled
Both .htaccess files on the root and public folder are same,
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
# Redirect Trailing Slashes...
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
I tested by removing the both .htaccess
files but it still shows the Internal server error.
How Can I fix this issue ? Any suggestions ?
asked Apr 1, 2015 at 5:48
3
check if mod_negotiation is enabled. I had the same issue just now
answered Sep 2, 2015 at 6:07
I have faced the same issue while migrating the shared server . The solution that worked me is as below.
Let’s say there is laravel folder called test
which contains folder structure of laravel.
I have use 2 different .htaccess file
1) one in the root folder of the (installed) laravel , i.e Along with test
folder with content as below.
RewriteEngine On
RewriteCond %{REQUEST_URI} !^test/public
RewriteRule ^(.*)$ test/public/$1 [L]
2) One in the public folder i.e inside test/public with content as below.
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
It worked for me.
answered Apr 22, 2017 at 16:00
уважаемые знатоки!
Я столкнулся с проблемой переноса дефолтного проекта Laravel (сделанного на OpenServer домашней машине) на удалённый хостинг.
Перенос делал по гайду из видео: содержимое папки public в public_html, остальное просто в папку (называется project).
В файле index.php изменил пути .
Получил ошибку на домене:
ErrorException (E_WARNING)
file_put_contents(C:\OpenServer\OSPanel\domains\project\project\storage\framework/sessions/FYq9CUUKlHh0uIgu1VlRQ50ylyhml2jj8pS3aT61): failed to open stream: No such file or directory
Понимаю, что каким-то образом дублировался путь project. Но не знаю что менять и где..и почему так сложно оказалось перенести даже пустой проект.
p.s. Проект абсолютно пустой тестовый (выводится лишь welcome.blade.php).
задан 10 мая 2019 в 17:28
ErrorException (E_WARNING) file_put_contents(C:\OpenServer\OSPanel\domains\project\project\storage\framework/sessions/FYq9CUUKlHh0uIgu1VlRQ50ylyhml2jj8pS3aT61): failed to open stream: No such file or directory
Вас не смущает указанный путь ? Похоже , что дополнительно в кэше остались старые пути к директориям. Попробуйте в первую очередь через команды artisan очистить кэш :
php artisan cache:clear
php artisan config:clear
Для выполнение данных действий у Вас должен быть доступ ssh к Вашему аккаунту на общем сервере.
Не думаю , что стоит проводить манипуляции с изменением директории , Вы можете разместить костяк проекта в public_html и запросить у хостера изменение основной директории на public_html/public . Как правило , нормальные хостинги должны это сделать . Также , можно через .htaccess попросту настроить rewrite на директорию public :
DirectoryIndex /public/index.php
RewriteEngine On
RewriteRule ^(.*) public/$1 [L]
ответ дан 10 мая 2019 в 18:46
8
Sometimes, after uploading your Laravel project to a VPS server you may see 500 error. You may be noticed 500 error frequently. Sometimes it happens for the permission of the storage folder of your Laravel app. Another reason for this problem is cache. You need to clear the cache that was created on your local or development server.
You can get rid of this problem running the following commands :
Give correct permission to app’s default/public_html folder.
sudo chmod 755 –R default |
Give proper permission to storage folder.
chmod –R o+w default/storage |
Clear all cache that was created in development server.