在生产服务器上找不到控制器操作


controller action not found on production server

在我的开发区域(wamp),一切都很好。今天我把我的整个项目上传到我的生产网站。

似乎在生产区域,有些路径丢失了。首先,我看到在我的开始布局(ZEND_Layout)我的图片没有找到。所以我需要改变图片的路径:

../public/images/xyz.png

在我的loginform之后,我改变了我的布局,在那里我留下了路径,就像以前一样,它的工作:

./images/xyz.png

这看起来很奇怪。我开始测试我的应用程序。登录后,我的重定向工作正常,我可以看到我的记录。点击细节(终端)我得到了下一个问题,这里是代码片段:

<td class="row_<?PHP echo $i % 2;?>">
    <a href="<?php echo $this->url(array('controller'=>'aktermine', 'action'=>'index', 'kopfnr'=>$kopf->kopfnr));?>">Termine</a>
</td>

我得到一个空白页。似乎我的控制器动作找不到。

有谁能帮我解决这个问题吗?编辑:

啊哈,我打开了我的登录,得到了错误:

解析错误:语法错误,意外T_OBJECT_OPERATOR/mnt/weba/b3/45/5543245/根/夏延/应用程序/控制器/AktermineController.php第88行

给定控制器中的第88行是某个日期广播:

$datum = (new DateTime($form->getValue('datum')))->format('Y-m-d'); 

所以这在生产系统中不起作用,但是为什么呢?

编辑2:

我试着改成:

$datum = $form->getValue('datum');

这工作,但我需要cast,或一些日期选择器我要求在另一个帖子。

既然你正在使用zend框架,为什么不使用Zend_Date

$dateObj = new Zend_Date();
$dateObj->set($form->getValue('datum'),'dd/MM/yyyy');
$datum = $dateObj->toString('yyyy-MM-dd');

问题出在这一行:

$datum = (new DateTime($form->getValue('datum')))->format('Y-m-d');

我像上面那样修改