我知道这个问题已经在这里被问了很多次,我在这里至少阅读了十个帖子......但我似乎不太明白该怎么做,所以我请求你的建议和考虑鉴于这是我的第一个symfony部署,实际上是我的第一个站点部署。非常感谢此事。
这是我的路线图
1-我已经建立了一个在localhost上运行良好的站点。它非常简单,它使用通过.yml文件创建的实体并生成实体命令的学说。我还使用了generate crud来修改那些实体,因此我自己的代码很少。
2-我将所有项目文件复制到ftp服务器中,据我所知,该网站是在线的,因为我可以访问config.php例如
3-我在服务器上创建了一个数据库,通过sql创建了表(通过doctrine:schema:craeate --dump-sql转储),创建了一个拥有所有权限的用户。
4-我更新了parameters.yml文件以反映新的数据库信息
3-每当我尝试运行应用程序时,我都会收到无效实体或映射超类的错误。
附加说明:
为了解决这个问题,我已经完成了这三件事,但我一直都有同样的错误
1:在服务器上的“使用”行下的app.php文件中复制了这两行。
ini_set('eaccelerator.enable', 0);
ini_set('eaccelerator.optimizer', 0);
这是为了尝试禁用eaccelerator ...但实际上我不知道这是否在服务器上运行困难。
2:修改/ mysite / vendor / doctrine / orm / lib / Doctrine / ORM / Tools
下的setup.php文件 public static function createAnnotationMetadataConfiguration(array $paths, $isDevMode = false, $proxyDir = null, Cache $cache = null, $useSimpleAnnotationReader = true)
{
$config = self::createConfiguration($isDevMode, $proxyDir, $cache);
$config->setMetadataDriverImpl($config->newDefaultAnnotationDriver($paths, false));
return $config;
}
这是因为我已经读过其他答案,第二个参数的设置错误将有助于解决它...但事实是我不知道这是否是正确的地方。
3:我检查了该行的主config.yml文件,它已经存在:
doctrine:
orm:
auto_mapping: true
最后,如果指出可能很重要,那么当我运行config.php时,我会遇到这两个市长的问题:
已发现主要问题,必须先解决,然后才能继续:
在php.ini *中将detect_unicode设置为off。
将“phar”添加到php.ini *中的suhosin.executor.include.whitelist。
如果有人可以查看并帮助我解决这个问题,我将非常感谢。我真的指望着你,因为我没有其他问题。我的手指交叉。