将silverstripe网站移至开发环境后出现问题

时间:2011-11-16 18:13:30

标签: php frameworks silverstripe

我们有一个silverstripe网站,可以在centos网络服务器上正常使用。我被要求对此站点进行修改,并且必须在我们的内部Ubuntu开发服务器上有一个工作副本。做网站的那个人早就不见了,没有人知道这个项目。

我做了移动,转移了数据库并将配置文件更改为新设置。现在每当我启动网站时,我都会收到整页或红色错误:

FATAL ERROR: call_user_func_array() expects parameter 2 to be array, null given
At line 404 in /home/user/site/sapphire/core/ViewableData.php
call_user_func_array(Array,) 
line 404 of ViewableData.php

ViewableData->XML_val(current_lang,,1) 
line 4 of .cache.home.user.site.mysite.templates.Layout.PageAccueil.ss

include(/home/user/site/silverstripe-cache/.cache.home.user.site.mysite.templates.Layout.PageAccueil.ss) 
line 197 of SSViewer.php

SSViewer->process(PageAccueil_Controller) 
line 189 of SSViewer.php

SSViewer->process(PageAccueil_Controller) 
line 296 of Controller.php

Controller->defaultAction(index,Array) 
line 267 of Controller.php

Controller->run(Array) 
line 22 of ModelAsController.php

ModelAsController->run(Array) 
line 27 of RootURLController.php

RootURLController->run(Array) 
line 104 of Director.php

Director::direct() 
line 160 of main.php

据我所知,我们的开发服务器和其他框架(zend框架甚至wordpress)上的任何内容都没有“奇怪”。 这不是最新版本的silverstripe但尝试更新它我遇到了相同的错误,所以我希望在更新之前让它工作。

我们正在使用silverstripe 2.2.2版。

欢迎任何帮助或指示! 编辑:我确实尝试使用/dev/build/?flush=1加载网站,/build/?flush=1仍然在这些页面上获得相同的错误。还应正确设置缓存文件。

1 个答案:

答案 0 :(得分:2)

1)您可能想尝试?flush=all(除非您对数据库进行了任何更改,否则您不需要/dev/build

2)我的第一个猜测是PHP版本。你在旧盒子和开发盒子上都有相同的版本吗? SS 2.2与PHP 5.3不兼容 - 如果我没记错的话。

当从2.2升级到2.4时遇到问题 - 有一些变化,但它们应该相对较小。如果您尚未完成?flush=all,则可能仍会从先前版本中获得错误。

或者您甚至可能希望手动清除silverstripe缓存目录(silverstripe-cache,或者如果/tmp中的某些目录不存在)。当我将SS文件从一个服务器复制到另一个服务器时,我总是这样做,因为旧的缓存文件会导致非常奇怪的行为......