Загрузка проекта Laravel в вопросе общего хостинга - PullRequest
0 голосов
/ 04 февраля 2019

Я только что закончил настройку базы данных в cpanel и загрузил проект в cpanel.Я заархивировал проект и загрузил таким образом.Я переместил все файлы из «публичной» папки в public_html, а остальные - в новый каталог «house», после чего отредактировал файл index.php следующим образом

require __DIR__.'/../house/vendor/autoload.php';

$app = require_once __DIR__.'/../house/bootstrap/app.php';

Тем не менее сайт недоступен,Я должен что-то упустить с самого начала.В Firefox страница пуста, и Google Chrome говорит, что эта страница не работает.Должен ли я изменить .env и database.php внутри конфигурации?Я выполнил все инструкции, показанные в некоторых полезных видео, но мне кажется, что ничего не работает.

В моем текущем файле .env есть следующие строки (учетные данные не настроены)

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret

Ответы [ 3 ]

0 голосов
/ 04 февраля 2019

Скопируйте все в public_html из папки public и измените путь на

require __DIR__.'/house/vendor/autoload.php
0 голосов
/ 04 февраля 2019

Примечание. Советую оставить все как есть, включая файл .htaccess.

  • Сжать всю папку проекта на локальном компьютере.Вы получите zip-файл - laravel50.zip

  • Откройте cPanel вашего общего хостинга.

  • Нажмите «Диспетчер файлов»

  • Нажмите «Загрузить»

  • Загрузить файл laravelproject.zip в корневой каталог - не public_html

  • Извлеките laravelproject.zip в файловый менеджер

  • Откройте папку laravel50 и переместите содержимое общей папки в папку public_html вашей cpanel.Вы также можете удалить пустую общую папку сейчас.

  • Перейдите в папку public_html и найдите файл index.php.Щелкните правой кнопкой мыши на нем и выберите «Редактировать код» в меню.

    • Откроется еще одна вкладка с редактором кода cpanel.

    • изменитьследующие строки (22 и 36) от

require __DIR__.'/../bootstrap/autoload.php'; ... $app = require_once __DIR__.'/../bootstrap/app.php';

до

require __DIR__.'/../laravel50/bootstrap/autoload.php'; ... $app = require_once __DIR__.'/../laravel50/bootstrap/app.php';

  • Пожалуйста, не изменяйте содержимое вашего файла .htaccess (если вы не знаете, что делаете ?) файл .htaccess должен выглядеть примерно так.

Параметры -MultiViews

              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>`
  • Если все прошло хорошо, переход к http://yourdomain.com должен привести к ошибкам базы данных (если в вашем приложении работают модели).Не беспокоиться!Следующим этапом является перенос ваших баз данных на ваш хостинг.
0 голосов
/ 04 февраля 2019

Может быть, это вам поможет,

  1. Очистите весь кэш перед загрузкой проекта в прямом эфире.
  2. Измените файл index.php, как вы сделали.
  3. Измените свой файл server.php

    if ($uri !== '/' && file_exists(__DIR__.'/public'.$uri)) {
    return false;
    }
    
    require_once __DIR__.'/public/index.php';
    

на,

   if ($uri !== '/' && file_exists(__DIR__.'/../public_html'.$uri)) {
      return false;
   }

   require_once __DIR__.'/../public_html/index.php';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...