我的 openshift 服务器中的文档根目录到底在哪里?

Where exactly is the document root in my openshift server?

我是第一次试用 OpenShift。我正在使用 php-5.4 墨盒,并且正在尝试部署 Laravel 项目。

Laravel 要求文档根指向框架结构中的一级目录 public

我在这里看到 php 磁带的 document root 可以是几个特定目录名称中的任何一个,包括 public.

我遇到的问题是:

  1. 一旦我将我的项目推送到服务器,openshift 似乎不会自动看到 public 文件夹。

  2. 我找不到 webroot 本身。

当我通过 ssh 进入服务器并列出我的主目录时,我看到以下目录:

    app-deployments
    app-root
    git
    php

我认为 php 目录是文档中提到的根目录,但它似乎包含 php 本身的所有配置。然后我想它可能在 app-rootapp-deployments 中,但是当我在家里 grep -Ri Laravel * 寻找任何带有 laravel 的东西时(比如自述文件)但是我明白了return 中没有任何内容(我知道我已推送到服务器)。


我知道并相信 php 盒式磁带将以编程方式查找目录名称以确定根目录,但它从哪里开始该搜索?如果文档中有特定位置对其进行了解释,有人可以 post 或 link 找到它吗,因为我似乎找不到它?

编辑

我还应该补充一点,我试图检查正常的 linux /var/www 目录,但我的用户没有访问该目录的权限,我的用户也没有(至少我没有)不认为我是)超级用户。

尝试:grep -D skip -Ri Laravel *
它应该在:~/app-root/runtime/repo

来自 PHP Repo Layout 上的 OpenShift 开发人员门户条目:

文档根目录

A​​pache DocumentRoot 是构成 Web 上可见的主要文档树的目录,它是根据存储库代码中是否存在公共目录按以下顺序选择的:

1. php/          # for backward compatibility with OpenShift Origin v1/v2
2. public/       # Zend Framework v1/v2, Laravel, FuelPHP, Surebert etc.
3. public_html/  # Apache per-user web directories, Slim Framework etc.
4. web/          # Symfony etc.
5. www/          # Nette etc.
6. ./            # Drupal, Wordpress, CakePHP, CodeIgniter, Joomla, Kohana, PIP etc.

PHP include_path

存储库代码中可能存在的以下应用程序目录被添加到 PHP include_path 中,因此在调用 require()、include() 和其他文件时自动搜索 I/O 函数:

- lib/
- libs/
- libraries/
- src/
- misc/
- vendor/
- vendors/