0

我在 Win7 xampp 安装上试用 Symfony2,并且遇到了 generate:bundle 问题。

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

如果我在问题中选择 'yes' (默认为 'no' ):

是否要生成整个目录结构

我收到以下消息:

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

...当然,其余的步骤不遵循。创建了正确的命名空间和捆绑目录,但永远无法达到诸如自动路由设置之类的东西。

在选择放置源的目录时,我选择默认的:

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

(注意:没有斜线)

我注意到无论我做什么,在 IO 异常消息中都有一个额外的斜杠(在 'src' 之后),这会导致 IO 错误吗?

如果我输入一个斜杠,则会添加另一个斜杠(如您所料),如果我输入的内容与默认斜杠完全相同 - 特别是省略一个斜杠,我仍然会在“src”之后和我的命名空间和捆绑包之前得到两个斜杠名字。

4

1 回答 1

1

我遇到了和你一样的问题。终于查明原因:FAT32

当我将 XAMPP 放在 NTFS 格式的驱动器上时,我没有遇到任何问题。(驱动器 C 甚至任何便携式驱动器) 但是,当我将 XAMPP 放在 FAT32 格式的驱动器上时出现错误。(嗯……我猜有些 PHP 函数,比如 touch(),在 FAT32 系统上不能正常工作)

此外,当我运行此命令时,我还在 FAT32 驱动器上遇到其他问题(找不到实体):

Symfony> php 应用程序/控制台原则:生成:实体 xxxxxx

(注意:如果我禁用 auto_mapping 并在 config.yml 中明确设置“entity_managers:”,则可以修复它)但是,一旦我将 XAMPP 放回 NTFS 驱动器,auto_mapping 就可以完美地工作。

因此,您可以检查您的文件系统。如果您的 XAMPP 位于 FAT32 驱动器上,请将其移至 NTFS 驱动器,然后再试一次。

祝你好运。

于 2013-03-23T17:05:59.637 回答