社員ブログ
HOME  社員ブログ

アーカイブ

‘データベース’ カテゴリ

500エラー オーバーヘッドでもない本当の原因とは!?

2012年03月26日 11時38分26秒

こんにちは、コブラです。

 

先日書いた「500エラー 予期しない状況が発生しました。の対処法。」という記事ですが、

これで解決しませんでした・・・。

オーバーヘッドが0.0KBでも発生する・・・何故だ・・・。

 

と思っていたら、とんでもないところに原因がありました!

 

それがこれ!

 

ループの中で同じファイルを何度もincludeしていたから!

 

以前、includeとrequire_onceの違いなどは書きましたが、

includeするクラスの中にファンクションなどがあると、

何度も定義しようとしてエラーになるのだとか。

でもincludeなので、処理は止まらないと。

なるほど・・・つまり、こういうことです!

 

for ($i = 0; $i < 100; $i++) {
  include "hoge.inc"; // getHogehoge()を何度も定義しようとするから×。ループの外に出す
  getHogehoge();
}

 

-hoge.inc

function getHogehoge() {
  return true;
}

 

原因が分かってスッキリしました!

初歩的なことですが見落としがちかも、皆さんもご注意を!


MySQL, PHP, 社員:cobra

500エラー 予期しない状況が発生しました。の対処法。

2012年02月16日 13時15分04秒

こんにちは、コブラです。



HTTP エラー 500(Internal Server Error):
サーバーによるリクエストの実行中に、予期しない状況が発生しました。


こんなエラーが出た時の対処法です。

ググってみると、どうやらWordpressなどでも発生する事があるようですが、

MySQL側の問題のよう。

テーブルのオーバーヘッド領域が大きすぎて良くないらしい。

PHPMyAdminで見てみると、確かにあるテーブルのオーバーヘッドが10KB…。

「オーバーヘッド」とは、追加・更新・削除を行っていくと作られるゴミ領域らしい。


というわけで対処法です。

PHPMyAdminより、該当のテーブルを選び、「テーブルを最適化する」を選ぶだけ!

またはOPTIMIZE TABLE TABLE_NMでもいいらしい!




MySQL, WordPress, 社員:cobra

MySQL テキストファイルをコマンドから実行する

2011年11月28日 13時58分02秒

こんにちは、コブラです。


teratermなどのターミナルソフトからMySQLを操作する時に、

コマンドからSQLファイルを実行する方法です。


# mysql DBNAME < 実行したいSQLファイル名(.txtや.sql)


簡単ですね!


sqlファイルにuse DBNAMEを書いている場合は、

# mysql < 実行したいSQLファイル名

と書けます!


MySQL, 社員:cobra