2

初めてOpenShiftを試しています。私は php-5.4 カートリッジを使用しており、Laravel プロジェクトをデプロイしようとしています。

publicLaravel では、フレームワーク構造の 1 レベルであるディレクトリを指すドキュメント ルートが必要です。

ここで、php カートリッジのドキュメント ルートは、public.

私が抱えている問題は次のとおりです。

  1. プロジェクトをサーバーにプッシュすると、openshift は public フォルダーを自動的に認識しないようです。

  2. ウェブルート自体が見つかりません。

サーバーに ssh してホーム ディレクトリを一覧表示すると、次のディレクトリが表示されます。

    app-deployments
    app-root
    git
    php

phpディレクトリはドキュメントが話しているルートになると思いましたが、それにはphp自体のすべての構成が含まれているようです。次に、app-rootまたはapp-deploymentsにある可能性があると考えましたがgrep -Ri Laravel *、自宅でlaravelが含まれているもの(readmeなど)を探すと、何も返されません(サーバーにプッシュしたことはわかっています)。


私は、phpカートリッジがプログラムでディレクトリ名を探してルートを決定すると信じていますが、どこからその検索を開始しますか? ドキュメントに説明されている特定の場所がある場合、見つけられないように見えるので、誰かがその場所へのリンクを投稿できますか?

編集

また、通常の linux ディレクトリを確認しようとしたことも付け加えておき/var/wwwますが、私のユーザーはディレクトリにアクセスできず、私のユーザーは (少なくとも私はそうではないと思います) スーパーユーザーではありません。

4

2 に答える 2

1

試してみてください: 次の場所grep -D skip -Ri Laravel *
にあるはずです:~/app-root/runtime/repo

于 2015-01-19T01:02:26.223 に答える
0

PHP Repo Layoutの OpenShift の開発者ポータル エントリから:

ドキュメントルート

Web から見えるメインのドキュメント ツリーを形成するディレクトリである Apache DocumentRoot は、リポジトリ コード内の共通ディレクトリの存在に基づいて、次の順序で選択されます。

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/
于 2015-03-20T12:09:17.557 に答える