文档根目录在我的openshift服务器中的确切位置?

时间:2015-01-18 21:14:28

标签: php laravel-4 openshift openshift-php-cartidges

我第一次尝试使用OpenShift。我正在使用php-5.4盒式磁带,而我正在尝试部署Laravel项目。

Laravel要求文档根指向public目录,该目录是框架结构的一个级别。

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

我遇到的问题是:

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

  2. 我无法找到webroot本身。

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

        app-deployments
        app-root
        git
        php
    

    我认为php目录是文档谈论的根目录,但这似乎包含了php本身的所有配置。然后我认为它可能在app-rootapp-deployments,但是当我grep -Ri Laravel *在我家里寻找任何带有laravel的东西(如自述)时我却得不到任何回报(我知道我推到了服务器上。


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

    修改

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

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

来自PHP Repo Layout上的OpenShift的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 include_path

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

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