Doctrine orm ZF2中的beberlei DoctrineExtensions在Windows localhost上运行良好,但在Linux生产服务器上显示了致命错误

Doctrine orm ZF2中的beberlei DoctrineExtensions在Windows localhost上运行良好,但在Linux生产服务器上显示了致命错误,doctrine-orm,zend-framework2,doctrine-extensions,Doctrine Orm,Zend Framework2,Doctrine Extensions,我想在ZF2中使用DoctrineExtensions的日、周、月和年函数,并收到以下错误消息。这段代码在运行Windows的本地计算机上运行良好,但在运行Linux的服务器上却不起作用 Fatal error: Uncaught Error: Class 'DoctrineExtensions\Query\Mysql\Day' not found 这是我的module.config.php配置 'configuration' => array( 'orm_default

我想在ZF2中使用DoctrineExtensions的日、周、月和年函数,并收到以下错误消息。这段代码在运行Windows的本地计算机上运行良好,但在运行Linux的服务器上却不起作用

Fatal error: Uncaught Error: Class 'DoctrineExtensions\Query\Mysql\Day' not found
这是我的module.config.php配置

'configuration' => array(
        'orm_default' => array(
            'datetime_functions' => array(
                'day' => 'DoctrineExtensions\Query\MySql\Day',
                'week' => 'DoctrineExtensions\Query\MySql\Week',
                'month' => 'DoctrineExtensions\Query\MySql\Month',
                'Year' => 'DoctrineExtensions\Query\MySql\Year',
            ),
            'string_functions'   => array(),
        )
    ),

我使用composer安装了模块。

“DoctrineExtensions\Query\MySql\”应该是“DoctrineExtensions\Query\MySql\”,带有小的“s”而不是大写的“s”。Linux是区分大小写的,这就是为什么它找不到类的路径。我也有同样的问题,我们就是这样解决的。希望这有帮助。

我建议通过::Class()使用类名解析,以减少代码中的“神奇”字符串数量,并且作为奖励,IDE(如果使用IDE)将提示该类是否存在
\DoctrineExtensions\Query\MySql\Day::class
而不是
'DoctrineExtensions\Query\MySql\Day'
。如果包含该类的文件存在,是否可以签入服务器的供应商文件夹<代码>查找-名称“DoctrineExtensions*”应该告诉您是否存在依赖关系。