0

Win7 xampp インストールで Symfony2 を試用していますが、generate:bundle に問題があります。

php app/console generate:bundle --namespace=amd/HelloBundle --format=yml

質問で「はい」(デフォルトは「いいえ」) を選択した場合:

ディレクトリ構造全体を生成しますか

次のメッセージが表示されます。

[Symfony\Component\Filesystem\Exception\IOException]
Failed to touch H:/<pathToSymfony2Installation>/src//amd/HelloBundle/Resources/doc/index.rst

...そしてもちろん、残りの手順は従いません。正しい名前空間とバンドル ディレクトリが作成されますが、たとえば auto' ルーティング設定などには到達しません。

ソースを配置するディレクトリを選択するときは、デフォルトを選択します。

Target directory [H:/<pathToSymfony2Installation>/src]:

(注: 末尾のスラッシュはありません)

IO 例外メッセージで、何をしても ('src' の後に) 追加のスラッシュがあることに気付きました。これが IO エラーの原因ですか?

末尾のスラッシュを入力すると、さらに 1 つ追加されます (ご想像のとおり)。デフォルトとまったく同じものを入力すると、特に末尾のスラッシュを省略しても、「src」の後と名前空間とバンドルの前に 2 つのスラッシュが表示されます。名前。

4

1 に答える 1

1

私はあなたのような同様の問題を抱えています。ようやく原因がわかりました:FAT32

XAMPP を NTFS フォーマットのドライブに置いても問題ありません。(ドライブ C または任意のポータブル ドライブ) ただし、FAT32 でフォーマットされたドライブに XAMPP を配置すると、エラーが表示されます。(うーん... touch() のようないくつかの PHP 関数は、FAT32 システムでは正しく動作しないと思います)

さらに、次のコマンドを実行すると、FAT32 ドライブで別の問題 (エンティティが見つからない) も発生します。

Symfony> php アプリ/コンソール doctrine:generate:entities xxxxxx

(注: auto_mapping を無効にして、config.yml で "entity_managers:" を明示的に設定すると、修正できます) ただし、XAMPP を NTFS ドライブに戻すと、auto_mapping は完全に機能します。

したがって、ファイルシステムを確認できます。XAMPP が FAT32 ドライブに配置されている場合は、NTFS ドライブに移動して、もう一度試してください。

幸運を。

于 2013-03-23T17:05:59.637 に答える