DoctrineExtensions查找错误的目录

时间:2015-08-27 23:08:27

标签: php doctrine-orm doctrine-extensions

我在我的PHP项目中使用了Doctrine ORM。

在我的一个查询中,我正在使用'COS'(余弦)和'SIN'(正弦)函数,为了在Doctrine上实现这一点,我必须将它添加到我的entitymanager配置中:

$config->addCustomNumericFunction('COS', 'DoctrineExtensions\Query\Mysql\cos');
$config->addCustomNumericFunction('SIN', 'DoctrineExtensions\Query\Mysql\sin');

当我在本地PC +服务器上运行时,这种方法很好。

但是一旦我将项目放在在线网络服务器上,我就面临着这些错误:

Fatal error: Class 'DoctrineExtensions\Query\Mysql\cos' not found in /home/USER/domains/USER.com/public_html/MYDIRECTORY/vendor/doctrine/orm/lib/Doctrine/ORM/Query/Parser.php on line 3418

Fatal error: Class 'DoctrineExtensions\Query\Mysql\sin' not found in /home/USER/domains/USER.com/public_html/MYDIRECTORY/vendor/doctrine/orm/lib/Doctrine/ORM/Query/Parser.php on line 3418

它正在查看'vendor \ doctrine'目录,而不是'vendor \ beberlei \ DoctrineExtensions'目录。

我的作曲家包含:

"beberlei/DoctrineExtensions": "dev-master"

供应商自动加载器包含:

'DoctrineExtensions\\' => array($vendorDir . '/beberlei/DoctrineExtensions/src')

任何人都可以向我解释这个...我尝试添加一个类加载器,但仍然是同样的问题。

Localhost工作正常......

1 个答案:

答案 0 :(得分:0)

在我使用的实体管理器配置中添加正弦和余弦函数时:

    Sub Espelho_OM()

Dim Linha As Integer
Dim Data_Vencimento As String
Dim N1 As String
Dim N2 As String
Dim N3 As String
Dim N4 As String
Dim N5 As String
Dim N6 As String
Dim N7 As String
Dim N8 As Double
Dim i As Integer

 Sheets(2).Cells.Clear

 Sheets(1).Select

  Cells(100000, 1).End(xlUp).Select
  Linha = ActiveCell.Row - 1

   For i = 1 To Linha
     N1 = Sheets(1).Cells(i + 1, 1)
     N2 = Sheets(1).Cells(i + 1, 2)
     N3 = Sheets(1).Cells(i + 1, 3)
     N4 = Sheets(1).Cells(i + 1, 4)
     N5 = Sheets(1).Cells(i + 1, 5)
     N6 = Sheets(1).Cells(i + 1, 6)
     N7 = Sheets(1).Cells(i + 1, 7)
     N8 = Sheets(1).Cells(i + 1, 8)
     Sheets(2).Cells(1 + (i - 1) * 38, 1) = N1
     Sheets(2).Cells(2 + (i - 1) * 38, 1) = N2
     Sheets(2).Cells(4 + (i - 1) * 38, 1) = N3
     Sheets(2).Cells(5 + (i - 1) * 38, 1) = N4
     Sheets(2).Cells(6 + (i - 1) * 38, 1) = N5
     Sheets(2).Cells(7 + (i - 1) * 38, 1) = N6
     Sheets(2).Cells(8 + (i - 1) * 38, 1) = N7
     Sheets(2).Cells(10 + (i - 1) * 38, 1) = N8




Next

  Sheets(2).Select

End Sub

上述解决方案适用于本地PC +服务器。

将项目文件移动到网络服务器时,上述配置无法正常工作。

您必须将$config->addCustomNumericFunction('COS', 'DoctrineExtensions\Query\Mysql\cos'); $config->addCustomNumericFunction('SIN', 'DoctrineExtensions\Query\Mysql\sin'); 中最后一个单词的第一个字母更改为大写,如下所示:

DoctrineExtensions namespace

基本上 cos 变为 Cos 变为

现在它适用于在线网络服务器。终于搞定了!

相关问题