Я недавно завершил свой первый сайт Laravel, но теперь я застрял с развертыванием. Это совершенно новая концепция для меня. Мое веб-пространство предоставляется 1&1.
Я пробовал несколько уроков, но ни один из них не работает.
Основываясь на учебнике здесь:
Загрузка проекта Laravel на веб-сервер
Я структурировал свои серверные папки так:
(обратите внимание, что при первой загрузке FTP на моем сервере не было www или html_docs, только папка журналов).
В www мой index.php был изменен на:
require __DIR__.'/../laravel/bootstrap/autoload.php';
$app = require_once __DIR__.'/../laravel/bootstrap/start.php';
В файле laravel / bootstrap / paths.php я изменил:
'public' => __DIR__.'/../../www',
При посещении моего домена в браузере, например: myDomain.co.uk — сайт перенаправляется на страницу «заполнитель» (named / defaultsite) для 1&1 доменов и состояний «Это доменное имя было только что зарегистрировано.»
Например, если я добавляю /www/index.php, я получаю, что файл не существует, даже если файл находится в моей структуре выше.
Как вы, наверное, заметили, я очень плохо знаком с аспектами на стороне сервера, такими как FTP и т. Д. Я прочитал несколько статей, и все, похоже, придерживаются другого подхода, и я не могу понять, как лучше.
Я не уверен, куда идти отсюда, поэтому любые советы приветствуются. Спасибо.
Редактировать:
Я думаю, что на самом деле все заработало, но теперь, когда я захожу на domain.com/public, я получаю сообщение об ошибке БД:
SQLSTATE[HY000] [2002] No such file or directory.
Любой совет, пожалуйста?
Все исправлено 🙂 получается 1&1 не размещайте свое имя БД в качестве локального хоста или 121.0.0.1. Я просто поменял детали и работает мечтой. Следующий шаг — избавиться от ужасного / публичного / индексного URL.
Причина, по которой вы видите /public/index.php, заключается в том, что вы указываете на каталог верхнего уровня, а не на каталог / public. Чтобы это исправить, перейдите по ссылке:
Это должно удалить public из URL.
Это файл .htaccess, который я использую для 1and1 и laravel 4.2, и он удаляет .index.php, а также использует обновленную версию PHP:
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
AddHandler x-mapp-php6 .php
AddType x-mapp-php6 .php
# Redirect Trailing Slashes...
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ /index.php [L]
</IfModule>