3

これは午前中ずっと私を夢中にさせてきました。

gitを使用して複数のマシンにまたがるWebサイトを開発しています。

ほとんどの場合、開発サーバーと同じセットアップを持つようにコンピューターをセットアップできます。残念ながら、チームの 1 人が Windows を使用しており、あらゆる種類の混乱を引き起こしています。

私が解決したい主な問題は次のとおりです。

私の.htaccessファイルで私は使用していますphp_value auto_prepend_file default_roots.php

auto prepend ステートメントを作成するときは、呼び出しているファイルへの絶対パスを使用する必要があることを認識しています。これが問題の原因です。Windows マシンの絶対パスは、すべて一致するように設定されているオフィス内の他のマシンのパスとは異なります。

私の問題を解決するのは、.htaccess 内の include_path を %{DOCUMENT_ROOT} として設定できるようにすることです。その後、ファイルを任意のマシンのドキュメント ルートに配置でき、ファイルへの絶対パスは常に正しいでしょう。

残念ながら、これは可能ではないようです (または、構文が間違っているだけで、誰かがその方法を教えてくれることを願っています)。

さまざまなマシンや環境でさまざまな .htaccess ファイルを作成し、gitignore を使用してそれらが互いに干渉しないようにすることを検討していました。それが私が始めたところですが、人々に実際にgitignoreを使用させ、干渉を止めることが問題のようで、何度も修正しなければなりませんでした。また、私の意見では、ややエレガントではありません。

だから私はここで夢中になっているので、コミュニティ内の誰かが私のために解決策を持っていることを願っています.

乾杯

4

1 に答える 1

0

特にチーム内で Git を使用する場合は、ワークフローがすべてです。以下に 2 つの解決策を示します。

  1. ルート設定に同意する: .htaccess ファイルが常にルートにある Web サーバーのルート (例: local.website.dev または localhost) から PHP アプリケーションを実行していた場合、技術的には問題は発生しないはずです。したがって、問題はありません。

  2. ワークフローに同意する:値を動的に呼び出すのでは.htaccessなく、実際に毎回動的にファイルを構築し、Gitワークフロー内で元のファイルを代わりに更新する回避策があります。

.htaccessmaster ブランチをチェックアウトするたびに新しい問題を生成する小さなソリューションを作成しました。したがって、ワークフローでは、すべての後にチェックアウトできますgit pull

.htaccessPHP 内でルールを維持する必要があります。したがって、ここにチームワークの小さな課題があります。でも問題解決!

Githubで確認してください: mchebib/git-dyno-htaccess

または、すぐにジャンプします。

$ git clone https://github.com/mchebib/git-dyno-htaccess.git
それがうまくいくことを願っています。

乾杯!

于 2015-05-11T06:33:42.503 に答える