#laravel #hosting #cpanel
#laravel #хостинг #cpanel
Вопрос:
До Laravel я использовал веб-фреймворк MVC и успешно размещал его на сервере cPanel.
Теперь я решил обновить свою платформу. Итак, я нахожу Laravel, потому что он также включает шаблоны MVC и прост в освоении для меня. Посмотрев несколько руководств, я решил разместить простой проект Laravel на поддомене сайтов моего основного домена.
Что я сделал:
На сервере:
- Я создаю поддомен и устанавливаю корень документа
/public_html/subdomain.maindomain.com/public
. - Внутри папки public_html я создал папку и переименовал ее так же, как имя поддомена.
На моем компьютере
composer global require laravel/installer
laravel new website
php artisan serve
Теперь я получаю ссылку на домашнюю страницу Laravel в браузере http://127.0.0.1:8000
.
Затем я добавил bootstrap.
composer require laravel/ui
php artisan ui bootstrap --auth
npm install amp;amp; npm run dev
Затем я вижу ссылку для входа и регистрации на главной странице Laravel.
Теперь, увидев https://laravel.com/docs/8.x/deployment документация Laravel:
composer install --optimize-autoloader --no-dev
php artisan config:cache
php artisan route:cache
php artisan view:cache
Теперь я загрузил zip-файл (все файлы внутри папки веб-сайта) и извлек его в корень документа сервера /public_html/subdomain_name/
. В папке subdomain_name у меня есть все файлы, которые были в папке моего веб-сайта на моем компьютере.
Я ничего не меняю в index.php
файле общей папки, остаюсь в состоянии по умолчанию.
require __DIR__.'/../vendor/autoload.php;
$app = require_once __DIR__.'/../bootstrap/app.php';
Затем я проверяю свой URL, но столкнулся This page isn’t working, subdomain.domain.com is currently unable to handle this request. HTTP ERROR 500
Комментарии:
1. почему бы вам не проверить журнал ошибок, чтобы узнать, почему это вызвало ошибку 500
2. как я могу проверить журнал ошибок? Я не знаю, как проверить, потому что я новичок в Laravel
3. журналы веб-сервера
4. еще одна вещь, где у вас есть поддомен здесь $app = require_once DIR .’/../subdomain_name/bootstrap/app.php ‘; предполагается, что это не поддомен, а имя вашего пакета laravel, имя папки, которую вы загрузили
5. @lagbox Да, я нахожу файл журнала ошибок в моей общей папке, ошибка в приведенном выше вопросе, см. Там Я обновил. Но что отлаживать на нем, это файл laravel по умолчанию.
Ответ №1:
Прежде всего загрузите laravel в корневую папку вашего домена, а не public_html и извлеките, затем переместите содержимое общедоступной папки вашего laravel, чтобы /public_html/subdomain.maindomain.com/public
затем отредактировать содержимое index.php require __DIR__.'/../vendor/autoload.php'; equire_once __DIR__.'/../bootstrap/app.php';
чтобы это require __DIR__.'/../../../laravelpackagename/vendor/autoload.php' and $app = require_once __DIR__.'/../../../laravelpackagename/bootstrap/app.php';
не проверялось, но я считаю, что это должно сработать
Комментарии:
1. Для корня моего домена установлено значение /public_html . Итак, нужно ли мне переместить файл Laravel по указанному вами пути?
2. я не говорю о корне вашего поддомена, я имею в виду корень вашего домена, корень вашего домена не может быть public_html
3. это должно выглядеть похоже на /Home/laravelpackage
4. Я исправил это, @lagbox помогите мне разобраться в моей ошибке. Как я это исправил? смотрите мой ответ.
Ответ №2:
Как я решил эту ошибку:
Я заново создаю новый проект Laravel точно так же, как приведенная выше команда, и помещаю этот файл в путь к моему серверу /public_html/laravel/
. Поэтому я ничего не менял в index.php
файле в общей папке, оставайтесь в состоянии по умолчанию. При этом ошибка остается неизменной (ОШИБКА HTTP 500).
Затем я просматриваю файл error_log /public_html/laravel/public/
и вижу ошибку Parse error: syntax error, unexpected '?', expecting variable (T_VARIABLE) in public_htmllaravelvendorramseyuuidsrcfunctions.php line on 34.
В менеджерах cPanel MultiPHP я выбираю свои сайты и устанавливаю версию PHP на ту же версию, что и раньше [PHP 7.3 (ea-php73)]. Затем, БУМ!! Это сработало. Я вижу домашнюю страницу моего проекта laravel в URL.
Вкратце, выбрав ту же версию PHP в менеджерах cPanel MultiPHP, помогите мне решить эту ошибку.