1

CentOSWebサーバーで本番環境で問題なく動作するSilverstripeWebサイトがあります。このサイトに変更を加えるように求められ、内部の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ではありませんが、更新しようとすると同じエラーが発生したため、更新する前に動作させることをお勧めします。

シルバーストライプバージョン2.2.2を使用しています。

ヘルプやポインタは大歓迎です!編集:私はサイトをロードしようとしました/dev/build/?flush=1/build/?flush=1、これらのページで同じエラーが発生します。また、キャッシュファイルは正しく設定する必要があります。

4

1 に答える 1

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ファイルをあるサーバーから別のサーバーにコピーするときは常にそうします...

于 2011-11-17T12:47:58.117 に答える