Я разработал приложение с laravel 4.2.8, и теперь у меня возникают проблемы с его развертыванием. Я выполнил этот ответ https://stackoverflow.com/a/16683938/3153380, но он не работает. Я получаю белый экран, и заголовки возвращают состояние внутренней внутренней ошибки 500.
Я читал, что laravel 4.2 немного сложно настроить на совместном хостинге, это правда? Я могу найти рабочее решение, чтобы те, которые развернули 4.2, прежде чем помогать. Структура моей папки похожа на нижнюю
root / laravel_base / app / … public_html / siteroot / assets / packages / uploads / index.php … Любые указатели?
Сначала убедитесь, что ваш общий хост работает php
> = v5.4. Во-вторых, попробуйте выполнить следующие действия:
public_html/
или www/
. Пример: project/
project/
папку public/
папки в свой public_html/
или www/
(должен быть там также .htaccess) Внутри public / найдите файл index.php и измените следующие пути:
а. Путь к autoload.php
require __DIR__.'/../bootstrap/autoload.php';
в
require __DIR__.'/../project/bootstrap/autoload.php';
б. Путь к start.php
$app = require_once __DIR__.'/../bootstrap/start.php';
в
$app = require_once __DIR__.'/../project/bootstrap/start.php';`
После всего этого он должен работать.
Я сделал что-то похожее на @Helder Lucas – мне также пришлось отредактировать файл bootstrap / paths.php:
# change: 'public' => __DIR__.'/../public', 'public' => __DIR__.'/../../public_html',
Я создал скрипт для настройки проектов laravel для среды совместного размещения. Вот суть: https://gist.github.com/meganlkm/74dba6c4350ed58bf7bb
Было довольно легко заставить Laravel 4/5 работать в OpenShift Online. Для других пользователей, занимающихся вопросами хостинга, проверьте: https://hub.openshift.com/quickstarts/115-laravel-5-0
Я просто добавляю новую папку в папку / на моем общем хостинге
www.domain.com
Где я добавляю подкаталог, называемый
public/
Чтобы путь выглядел так
/www.domain.com/public/
И из CPANEL я свяжу корневую папку имени домена с именем
www.domain.com/public/
И затем я просто загружаю приложение laravel в
/www.domain.com
Он работает для laravel 4.2 и 5. И нет нарушений безопасности, потому что папка корневого домена находится в общей папке приложения laravel, нет необходимости в обновлении файла .htaccess.
Это просто работает.
Попробуйте сыграть с .htaccess
В вашем public_html
добавьте .htaccess
для пересылки запроса
<IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{REQUEST_URI} !^yoursite.com/public RewriteRule ^(.*)$ yoursite.com/public/$1 [L] </IfModule>
т.е.
public_html ├── yoursite.com <-------- laravel project ├── .htaccess <-------- this file