7

我在当前的 Symfony2 项目中有一个奇怪的 PHP 错误:

unexpected T_STRING in /blahblah/Foo/BarBundle/Entity/User.php on line 1

这是一个非常标准的错误,通常与不匹配的“或”对有关。

但这里是文件 User.php 的代码

<?php
namespace Foo\BarBundle\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * @ORM\Entity
 * @ORM\Table(name="fos_user")
 * @ORM\Entity(repositoryClass="Foo\BarBundle\Entity\UserRepository")
 */
class User extends \FOS\UserBundle\Entity\User
{
    // classic user entity

<?php 行是第 1 行。没有引号,奇怪的是这个错误只出现在我的登台服务器上:在 2 台具有本地代码副本的开发机器上,它的行为与预期一样,没有错误或警告。文件是正确的,缓存被清空了。我认为这可能是编码错误,但似乎不是这样。我也想到了命名空间的问题,但是服务器上的PHP版本是正确的(5.3.16)

你知道这个错误可能源于什么,或者我可以在哪个方向搜索?提前致谢。

4

2 回答 2

2

我使用的大多数编码约定都严格要求在脚本中使用LF('Unix style', '\x0A') 行尾。无论谁设法提交代码,CRLF或者,上帝保佑,CR都必须忍受皇家的痛苦。)

这似乎没什么大不了的,但它可以为您节省数小时搜索奇怪错误的时间 - 例如在这种情况下。

于 2012-09-03T16:44:40.523 回答
0

我认为这是您文件的编码问题。例如,如果您的项目使用 UTF8 编码,请使用文本编辑器打开文件并选择“编码”选项 -> UTF-8 without BOM。

于 2012-09-03T16:17:26.467 回答