#php #laravel #xampp #localhost
#php #laravel #xampp #localhost
Вопрос:
Я пытаюсь запустить проект в laravel на моем lacalhost. Этот проект не мой, я работаю над ним и пытаюсь понять, как он был создан. Есть основные файлы: введите описание изображения здесь
И в этих файлах находится laravel.core. Внутри он выглядит так: введите описание изображения здесь
В моем XAMPP httpd-vhosts у меня есть VirtualHost. Перед каждым моим проектом все работает нормально без проблем. В виртуальном хосте я создаю путь к этой основной папке, где index.php есть. Но когда в браузере я пытаюсь открыть, появляется предупреждение о том, что этот сайт опасен, потому что он сертифицирован самостоятельно, после этого остается только панель управления XAMPP, больше ничего.
В моем index.php У меня есть путь:
require __DIR__.'/laravel_core/bootstrap/autoload.php';
И в приведенном выше файле у меня есть:
require __DIR__.'/../vendor/autoload.php';
Редактировать:
Итак, вот .htaccess:
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
</IfModule>
В index.php:
require __DIR__.'/laravel_core/bootstrap/autoload.php';
$app = require_once __DIR__.'/laravel_core/bootstrap/app.php';
$kernel = $app->make(IlluminateContractsHttpKernel::class);
$response = $kernel->handle(
$request = IlluminateHttpRequest::capture()
);
$response->send();
$kernel->terminate($request, $response);
Внизу я добавляю код из my .env, далее из bootsrap/autoload.php и в конце концов от vendor/autoload.php:
APP_ENV=local
APP_KEY=base64:2OWwGrH6hL 4MKkV7sZZ21MTjSHv/zacUDC67FWVBa4=
APP_DEBUG=true
APP_LOG_LEVEL=debug
APP_URL=http://localhost
DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=testowa1
DB_USERNAME=testowa1
DB_PASSWORD=password
DB_TABLE_PREFIX=cms_
define('LARAVEL_START', microtime(true));
require __DIR__.'/../vendor/autoload.php';
require_once __DIR__ . '/composer/autoload_real.php';
return ComposerAutoloaderInit7c0fb85d4a884560a3dba2e1e877f7b0::getLoader();
Комментарии:
1.
VirtualHost
может отвечать только на комбинацию ip и порта. Если вы впервые получаете это предупреждение, скорее всего, вы настроили их только на использование порта 80, но приложение перенаправляет на 443, поэтому apache не знает, что обслуживать. Дублируйте конфигурацию вашего хоста, чтобы использовать правильный порт или перенастроить приложение.2. Я пытался что-то сделать с вашим советом. Я продублировал свой виртуальный хост на нужный порт, но это не помогло. Затем я создал свой собственный ssl-сертификат, и все тот же. Я попытался перенастроить свое приложение, но я не знаю, как именно. В моем файле .env?
3. Вероятно, это перенаправление, есть ли
.htaccess
файл? Пожалуйста, попытайтесь собрать больше информации о перенаправлениях, конфигурации сервера, URL-адресе, к которому вы обращаетесь, и где вы в конечном итоге и т.д. В противном случае мы можем продолжать только на основе диких догадок.4. Я отредактировал свой вопрос и добавил немного кода, возможно, это поможет понять, в чем проблема. Если у кого-то есть идея, какой ресурс я могу добавить, пожалуйста, напишите.
5. Я все еще думаю, что это
VirtualHost
проблема с портом… Попробуйте удалить первую паруRewriteCond
/RewriteRule
from.htaccess
(ту, с%{HTTPS} !=on
которой).
Ответ №1:
Хорошо, эта проблема решена msg. Он написал в комментарии, что проблема связана с VirtualHost, и когда я удалил эти две упомянутые строки в .htaccess, больше нет проблем с отображением панели управления XAMPP.