Я просматривал учебники и картриджи о том, как использовать и настраивать Laravel в Openshift, но безрезультатно. Даже лучшие вещи, которые я мог найти, не очень помогли. Пока что мне удалось настроить Laravel, чтобы я мог видеть страницу приветствия с надписью «Laravel» посередине.
Для этого я использовал эти 2 картриджа:
С https://github.com/lucho2d7/openshift-quickstart-laravel5.2
Собираем все это в одну команду rhc:
rhc app create appname --env OPENSHIFT_PHP_VERSION=5.6.16 http://cartreflect-claytondev.rhcloud.com/github/boekkooi/openshift-cartridge-php mysql-5.5 --env OPENSHIFT_NGINX_VERSION=1.9.12 http://cartreflect-claytondev.rhcloud.com/github/boekkooi/openshift-cartridge-nginx --from-code=https://github.com/lucho2d7/openshift-quickstart-laravel5.2
Это в основном создало приложение с Nginx 1.9.12, PHP 5.6.16, MySQL 5.5 и Laravel 5.2.12 на Openshift:
Следующее, что я сделал, я заметил Laravel 5.2.12 и побежал composer update
в каталоге и получил его в Laravel 5.2.30, и снова при посещении приложения я все еще видел Laravel.
Теперь приходит проблема. Я использовал команду автоматического входа / регистрации
php artisan make:auth
Команда запускается, и все находится в соответствующей папке, и когда вы заходите в приложение, вы видите измененную страницу приветствия с кнопками входа и регистрации в правом верхнем углу:
Однако, когда вы нажимаете «Войти», «Зарегистрироваться» и «Домой», вы получаете ошибку 404 не найдена на странице:
Путь такой же, как и для других кнопок, например нажатие кнопки «Войти» переводит меня в «/ login», «Регистрация» переводит меня в «/ register», а «Home» ведет меня в «/ home» все время, пока отображается страница с сообщением об ошибке.
Я не смог найти решение этой проблемы. До сих пор я пытался добавить свой URL в файл app.php в папке конфигурации, и кроме этого ничего не было затронуто. У меня действительно нет доступа к файлу httpd.conf или использованию sudo на сервере. Хотя я пытался просматривать журналы ошибок, но не мог найти решение и через него.
Журналы ошибок в основном просто повторяют эту строку для разных путей ошибок:
2016/04/26 00:18:27 [error] 337780#0: *121 open() "/var/lib/openshift/username/app-root/runtime/repo//public/login" failed (2: No such file or directory), client: ip, server: , request: "GET /login HTTP/1.1"
Я на самом деле имею доступ к nginx_http.conf в / var / lib / openshift / username / nginx / conf, который в настоящее время имеет это:
# Enable Gzip
gzip on;
gzip_http_version 1.0;
gzip_comp_level 2;
gzip_min_length 1100;
gzip_buffers 4 8k;
gzip_proxied any;
gzip_types
# text/html is always compressed by HttpGzipModule
text/css
text/javascript
text/xml
text/plain
text/x-component
application/javascript
application/json
application/xml
application/rss+xml
font/truetype
font/opentype
application/vnd.ms-fontobject
image/svg+xml;
gzip_static on;
gzip_proxied expired no-cache no-store private auth;
gzip_disable "MSIE [1-6]\.";
gzip_vary on;
server {
listen ip:8080;
root /var/lib/openshift/username/app-root/runtime/repo//public;
location / {
index index.html index.htm index.php;
}
# pass the PHP scripts to PHP-FPM
location ~ \.php$ {
fastcgi_pass unix:/var/lib/openshift/username/php//socket/php-username.socket;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_script_name;
include /var/lib/openshift/username/nginx//usr/nginx-1.9.12/conf/fastcgi_params;
}
}
Любая помощь будет очень оценена!
Задача ещё не решена.
Других решений пока нет …