CGP Canvas Ver3.34における不具合について

10月23日に修正しましたCanvasウェブシステムVersion 3.34 Candyにおいて発生した不具合について詳細を書き残しておきます。

不具合の概要

トップページで500(Internal Server Error)エラーが発生してトップページが正常に表示されない不具合が発生していました。

原因

開発環境であるWindows版XAMPPのMySQL(MariaDB)と本番環境であるLinuxサーバーのMySQL設定の違いによるデータベース接続エラーでした。

Windows版XAMPPのMySQLは データベースのテーブル名の大文字小文字を区別せず、テーブル作成等はすべて小文字にして処理する という設定(初期設定)、本番サーバー(Linux)のMySQLは データベースのテーブル名の大文字小文字を区別する という設定でした。これはUnix系OSとWindows系OSの違いに起因する初期設定の違いです。

以前Linux版LAMPで構築していた開発環境から現在の環境に移る際、OSもLinux(KDE neon)からWindows10に移り、また初期設定から変更も行わなかったため開発環境側のテーブル名が全て小文字になってしまいました。

開発環境側ではテーブル名の大文字小文字が区別されないため動いていたコードが本番環境では大文字小文字の区別により動かないという状態になったため上記のような不具合が発生しました。だいたい初期設定が違うのを放っておいてIDEの入力補完に頼った開発者の怠慢が原因です。鉞を投げましょう。

対処・対策

今回の不具合を受け、開発環境側の設定を 大文字小文字を区別しないが、テーブル作成時等の大文字小文字はそのままに処理する という設定に変更しました。これにより開発環境と本番環境でテーブル名が一致するようになり、コーディング時のミスを最小限に抑えることができるようになりました。

実はテーブル名を全部小文字にするのがいいのかもしれません。どうなんでしょう。

おわり

ウサミンかわいい

返信を残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です