2

我一直在浏览有关如何在 Openshift 中使用和配置 Laravel 的教程和墨盒,但无济于事。即使是我能找到的最好的东西也无济于事。到目前为止,我能够做的是设置 Laravel,这样我就可以看到中间显示“Laravel”的欢迎页面。

我所做的是使用这两个墨盒:

使用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

这基本上在 Openshift 上使用 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

命令运行并且所有内容都在它的适当文件夹中,当您访问应用程序时,您会看到修改后的欢迎页面,右上角有登录和注册按钮:

Laravel 欢迎页面

但是,当您单击登录、注册和主页时,您会在页面上收到 404 not found 错误:

错误页面

其他按钮的路径是相同的,例如按 Login 将我带到 /login,Register 将我带到 /register,Home 将我带到 /home,同时给我错误页面。

我一直无法想出解决这个问题的办法。到目前为止,我已经尝试将我的 URL 添加到 config 文件夹中的 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"

我实际上可以访问 /var/lib/openshift/username/nginx/conf 中的 nginx_http.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;
    }
}

任何帮助将不胜感激!

4

0 回答 0