Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Всем доброго времени суток! Устанавливаю ларавел.
Версия Laravel: 5.3
Версия PHP: 7.2 и 7.3
Операционная система и её версия: Linux Debian
Вендор и версия Веб-сервера: Apache/2.4.37
Задача, что должно происходить _в целом_, техническое задание:
// Запуск welcome страницы
Что произошло, текст ошибки, если есть:
// В браузере белый экран после установки. Ошибок нет.
Чего вы ожидали получить:
// Хочу получить отображение страницы, но браузер ничего не выдает.
Варианты/догадки, почему это произошло:
// Какая-то магия
Пробую запустить в терминале и оЧудо: выдает мне исходный код страницы.
После этого запускаю в браузере запускается тоже.
Пробовал так 2 раза, что бы точно узнать, что причина в этом.
Объясните, пожалуйста. В терминале php 7.3, в браузере 7.2
Не в сети
Что ты называешь "запустить в терминале". Ты запрашиваешь 80 порт в телнете или ты запускаешь какую-нибудь команду artisan?
Предполагаю второе, потому что пишешь о разницах в версиях (cli и mod_php?). Так какие именно команды ты даёшь в терминале расскажи, это может иметь значение.
There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.
Не в сети
Нет, просто запускаю индекс, что и в браузере.
php public/index.php
Не в сети
Я вчера хорошо в этом разобрался. Фишка в том, что ларавел не может записать логи из-за отсутствия прав на запись, но ошибку он мне не выдавал в окно браузера, поэтому я и решил запустить скрипт в консоле.
В случае, если я запускаю в браузере, то в логах апача та самая ошибка, описанная выше.
[Tue Dec 25 04:37:19.134650 2018] [php7:error] [pid 20252] [client 127.0.0.1:59706] PHP Fatal error: Uncaught UnexpectedValueException: The stream or file "/var/www/events.com/public_html/quickstart/storage/logs/laravel.log" could not be opened: failed to open stream: Permission denied in /var/www/events.com/public_html/quickstart/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php:87\nStack trace:\n#0 /var/www/events.com/public_html/quickstart/vendor/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php(37): Monolog\\Handler\\StreamHandler->write(Array)\n#1 /var/www/events.com/public_html/quickstart/vendor/monolog/monolog/src/Monolog/Logger.php(289): Monolog\\Handler\\AbstractProcessingHandler->handle(Array)\n#2 /var/www/events.com/public_html/quickstart/vendor/monolog/monolog/src/Monolog/Logger.php(565): Monolog\\Logger->addRecord(400, Object(UnexpectedValueException), Array)\n#3 /var/www/events.com/public_html/quickstart/vendor/laravel/framework/src/Illuminate/Log/Writer.php(202): Monolog\\Logger->error(Object(UnexpectedValueException), Array)\n#4 /var/www/events.com/public_html/quickstart/vendor in /var/www/events.com/public_html/quickstart/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php on line 87, referer: [url]http://events.com/quickstart/public/[/url]
Но стоит запустить в консоле, то выводит
php public/index.php
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Laravel Quickstart - Basic</title>
<!-- Fonts -->
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.4.0/css/font-awesome.min.css" rel='stylesheet' type='text/css'>
<link href="https://fonts.googleapis.com/css?family=Lato:100,300,400,700" rel='stylesheet' type='text/css'>
<!-- Styles -->
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet">
<style>
body {
font-family: 'Lato';
}
.fa-btn {
margin-right: 6px;
}
</style>
</head>
<body id="app-layout">
<nav class="navbar navbar-default">
<div class="container">
<div class="navbar-header">
<!-- Branding Image -->
<a class="navbar-brand" href="http://:">
Task List
</a>
</div>
</div>
</nav>
<div class="container">
<div class="col-sm-offset-2 col-sm-8">
<div class="panel panel-default">
<div class="panel-heading">
New Task
</div>
<div class="panel-body">
<!-- Display Validation Errors -->
<!-- New Task Form -->
<form action="http://:/task" method="POST" class="form-horizontal">
<input type="hidden" name="_token" value="g1BMPIMy8syWiXTDf4jSOvsST4sn8OcF3TMkklCm">
<!-- Task Name -->
<div class="form-group">
<label for="task-name" class="col-sm-3 control-label">Task</label>
<div class="col-sm-6">
<input type="text" name="name" id="task-name" class="form-control" value="">
</div>
</div>
<!-- Add Task Button -->
<div class="form-group">
<div class="col-sm-offset-3 col-sm-6">
<button type="submit" class="btn btn-default">
<i class="fa fa-btn fa-plus"></i>Add Task
</button>
</div>
</div>
</form>
</div>
</div>
<!-- Current Tasks -->
</div>
</div>
<!-- JavaScripts -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
</body>
</html>
Это та самая, всем знакомая домашняя страница по умолчанию после установки.
После ее запуска все начинает работать, хотя прав на запись я не давал
Никаких комманд, типо этой:
sudo chmod -R 755 /var/www
я не запускал.
Не в сети
Диагноз: Твой веб-скрипт работает под другой учеткой, чем ты используешь в консоли. Надо не только chmod-ом пользоваться, но и chown-ом! И никогда не запускать скрипты от рута.
Проверь, скорее всего твой апачи или энжинекс работают под учеткой www-data. Ну или vagrant, если ты homestead используешь.
Поправь владельца рекурсивно для всего приложения, короче.
Изменено artoodetoo (25.12.2018 17:08:19)
There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.
Не в сети
Страницы 1