背景: Cakephp 開発環境のバージョンは 2.3.8 で、サーバーの Cakephp バージョンは 2.3.5 です。テストされたコードがサーバーにアップロードされると、次の警告が常に表示されます。
警告 (2): strto lower() はパラメーター 1 が文字列であることを想定しており、配列は [CORECakeNetworkCakeRequest.php、行 478] で指定されています
2.3.8 と 2.3.5 を比較した結果、2.3.8 の関数には 2.3.5 の関数よりも次のコードが多く含まれていることがわかりました。 リーリーライブラリ内のファイルを直接修正すれば問題は解決しますが、今後のバージョンアップ等を考慮し、このCakeRequestをカスタマイズしてis関数を書き直すことにしました。
プロセスは次のとおりです:
次のコードを app/Config/bootstrap.php に追加します:
app/Lib/ ディレクトリの下に新しい Network ディレクトリを作成し、ライブラリ (lib/Cake/Network/) 内の CakeRequest.php をこのディレクトリにコピーします。
次に、このディレクトリに AppCakeRequest.php:を追加します。 リーリー
app/webroot/index.phpを編集:リーリー
完了しました。エラーは表示されなくなりました。cakephp は初めてです。試してみてください。参考: http://stackoverflow.com/questions/8554536/extending-the-cakerequest-object
最後に愚痴を言いたいのですが、半年前に友人に誘われてこの Cakephp Web サイトのプロジェクトを今日やっと完成させました。
工期はとても簡単でしたが、半年以上かかりましたし、断続的に友人の要望にも応えていただきました。
私はこれまで PHP に触れたことはなく、ましてや Cakephp についてはほとんど情報がありません。多くの質問は英語または日本語の Yahoo で見つける必要があります。
時々、本当に何かをしたくなることがあります。
これは本当に時間の無駄です、私は二度とそのようなプライベートな仕事を引き受けることはありません。
暇な時間があれば、興味のある知識を勉強してみませんか?
http://www.bkjia.com/PHPjc/753004.html
www.bkjia.com