Как развернуть laravel 4.2 на совместном хостинге?

Я разработал приложение с 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. Во-вторых, попробуйте выполнить следующие действия:

  1. Создайте папку вне вашего public_html/ или www/ . Пример: project/
  2. Скопируйте каждую папку и файл (кроме общей папки) из своего приложения laravel в этот project/ папку
  3. Скопируйте содержимое public/ папки в свой public_html/ или www/ (должен быть там также .htaccess)
  4. Внутри 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