0

カスタム CMS を作成しました。コンテンツがリモート データベースに保存されている場合でも、MAMP を使用してローカル サーバーで完全に動作します。ただし、クライアントのホストサーバーで実行すると、たわごとが発生します。

問題は、CMS が数単語より長いテキストを処理できないことです。たとえば、テキストが「lorem ipsum」の場合は正常に機能しますが、テキストが 3 段落の長さの場合、投稿の送信エラーが表示されます。

これは php.ini の問題だと思います。既に php.ini の memory_limit を 16M から 128M に変更しています。ただし、問題は解決しません

私の質問は次のとおりです。php.ini の構成を 1 つずつ変更する以外に、どの php.ini 構成が問題を引き起こしているかを特定する良い方法を知っている人はいますか?

言うまでもなく、ローカルサーバーとホストサーバーで phpinfo() を実行すると、多くの構成が異なります...

お時間をいただき、ありがとうございました。

[編集]

この編集は答えとして書き直されました;-)

4

1 に答える 1

0

Drupal や WordPress などの CMS が通常必要とする、最も一般的な php.ini 構成を確認することにしました。それらの 1 つは、と関係がありmagic_quotes_gpcます。

私のローカルサーバーにはこれがOnあり、ホストサーバーにはそれがあることがわかったOffので、それに問題があるかどうか試してみました..

お恥ずかしい話ですが、問題は私のやり方の悪さに関係していたのです。投稿フォームからのデータを適切にエスケープしていませんでした。$_POSTすべてをエスケープした後、mysql_real_escape_string()すべてが正常に機能しました。

学んだ教訓

  1. フォームのデータは常にエスケープしてください。例外なく。
  2. マジック クォートは廃止され、PHP 5.4 で削除されました。
  3. 悪い習慣はある時点でエラーにつながります

これが誰かに役立つことを願っています。

于 2012-06-07T08:14:12.443 に答える