2011-11-13 13 views
0

私は3ヶ月前にウェブサイトを作成しました。私はそれをインターネットにアップロードし、それは働いた(それはまだそこに働く)。今は私のローカルコンピュータにインストールしてアクセスしようとしています。しかし、次のエラーメッセージを出力し、複数回:PHPの奇妙なエラーメッセージ

非推奨:参照することによって、新しいの戻り値を割り当てると Cで廃止されました:\ XAMPP \ htdocsに\ ptrは\ xajaxの\ xajax_core \ xajax.inc.php にライン1258

厳しい基準:変数のみが Cで参照することによって割り当てる必要があります:\ xamppの\ htdocsに\ ptrは\ xajaxの\ xajax_core \ xajaxPluginManager.inc.php ライン269

に私はxajaxのを使用していますフレームワークとエラーこのフレームワークと何か関係があります。私は図書館のファイルで何も変更していないので、問題の内容を理解できません。助けてください...私は驚いています

+0

あなたはPHPのバージョンが異なります。新しいバージョンのリファレンスは参照で返され、新しいバージョンはもはや返されません。ウェブサーバー上にあるかのように実行したい場合は、同じPHPバージョンを使用してください。 – nickb

+3

私はxajaxを一度試しました。良いことだけ...いいえ、いいことはありませんでした。代わりに "真の" AJAXを使うべきです! – MatTheCat

答えて

2

$node_obj =& new someClass($somearg, $moreargs); 

を使用しているフレームワークは少し時代遅れのようだと

$x = & new Classname(); 

ような構築物を使用していますnewより前の&は、PHP 5.0以降で廃止予定です(現在は数年前です)。 E_DEPRECATED - とE_STRICT - メッセージが導入されたので、このメッセージをすぐにスローします。

+0

この問題をPHP4に戻すことなく修正できますか? –

+0

フレームワークの最新バージョンを使用していることを確認してください。おそらく更新プログラムによって問題が解決されている可能性があります。そうでない場合は、もちろん自分でエラーを修正することができます。メッセージを見てください:ファイル名と行の両方が提供されています。反対側の 'E_STRICT'と' E_DEPRECATED'は通知であり、エラーではありません。したがって、無視することさえ可能です。しかし、私自身は、フレームワークに頼らず、7年前のバージョンと互換性がありません。Xajaxの最新バージョンは1年以上経過しており、「beta」とマークされています。何かがそこで起こるとは思わないでください。 – KingCrunch

+0

ありがとうございました。フレームワーク自体を変更することはできません。そのためには、多くの作業が必要です。 –

2

残念なことに、この種のステートメントはPHP 5から非難されています。ローカルマシンでは、サーバが古いバージョンを実行している間にバージョン5.3を実行しています。したがって、あなたのマシンにはE_STRICTエラーがスローされます。この問題を回避するには、あなたのような行に変更する必要があります。

$node_obj = new someClass($somearg, $moreargs); 
0

前のコメントは、これらの警告の原因を完全に説明しています。あなたのウェブサイトはうまく動作します。あなたはこれらのメッセージを非表示にする場合しかし、あなたは、PHPのエラー報告を無効にすることができます - このマニュアルはあなたを助けるかもしれない:http://complete-concrete-concise.com/web-tools/how-to-turn-off-display_errors-in-xampp (UPD:あなたのローカルバージョンの場合のみのコース)

1

xajaxの0.6目標本やその他の問題のカップル。 xajax 0.5の開発が始まったとき、多くのユーザはまだPHP4ウェブサーバに閉じ込められていました。この構文はPHP4の互換性を5.2.xまで維持するのに役立ちました。 Xajax 0.6はhttps://github.com/Xajax/Xajax-Projectにあります まだベータ版ですが、すでにかなり安定しています。廃止された機能が多数落とされ、コアが縮小されて&が最適化されました。