0

私は使用している YII webapp プロジェクトを持っていsvn checkout repoます。NGINX サーバーでこの webapp を実行しようとすると、( project1 ) エラーが表示されます -

Application runtime path "~/workspace/project1/protected/runtime" is not valid. Please make sure it is a directory writable by the Web server process.

しかし、次のような他の YII プロジェクト ( project2 ) を作成すると、

yiic webapp ~/workspace/project2
#and then the MVC procedure
./protected/yiic shell
>>model User users
>>crud User

ブラウザで webapp を実行できます。

project1が構成されていないためですか?に対して手動で構成を行うにはどうすればよいworking copyですか?

4

2 に答える 2

3

nginx ユーザーに対して、ランタイムフォルダーへの書き込みアクセスを許可する必要があります。

Yii は、このフォルダーを使用して、実行時に一時ファイルを保存します。ガイドから:

WebRoot/protected/runtime: このディレクトリには、アプリケーションの実行時に生成されるプライベート一時ファイルが保持されます。このディレクトリは、Web サーバー プロセスによって書き込み可能である必要があります。

したがって、yii はCApplicationsetRuntimePath()でこのチェックを行います:

if(($runtimePath=realpath($path))===false || !is_dir($runtimePath) || !is_writable($runtimePath))
于 2012-10-15T09:01:59.923 に答える
2

コマンドを使用して、開発プロジェクトと同じ相対パスにあるとyiic webapp仮定して、チェックアウトしたプロジェクトにアクセス許可を設定することもできます。yii/framework

svn checkout http://domain.tld/myproject myproject
cd myproject
protected/yiic webapp .

既存のファイルを上書きしないようにしてください。

于 2012-10-15T09:53:36.760 に答える