2

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

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

我在这里看到 php 墨盒的文档根目录可以是几个特定目录名称中的任何一个,包括public.

我遇到的问题是:

  1. 将项目推送到服务器后,openshift 似乎不会自动看到公用文件夹。

  2. 我找不到 webroot 本身。

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

    app-deployments
    app-root
    git
    php

我认为该php目录将是文档讨论的根目录,但它似乎包含 php 本身的所有配置。然后我想它可能在app-rootor中app-deployments,但是当我grep -Ri Laravel *在家里寻找任何带有 laravel 的东西时(比如自述文件),但我什么也没得到(而且我知道我推到了服务器)。


我知道并相信 php 墨盒将以编程方式查找目录名称以确定根目录,但它从哪里开始搜索?如果文档中有解释它的特定位置,有人可以发布指向它的链接,因为我似乎找不到它吗?

编辑

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

4

2 回答 2

1

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

于 2015-01-19T01:02:26.223 回答
0

来自 OpenShift 在PHP Repo Layout上的 Developer Portal 条目:

文档根

Apache 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 包含路径

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

- lib/
- libs/
- libraries/
- src/
- misc/
- vendor/
- vendors/
于 2015-03-20T12:09:17.557 回答