readme.txtreadme.txt

MySQL

  • WordPressでファイルをアップロードする際にアップロードするファイルのファイル名を事前に半角英数の管理しやすいファイル名にしてアップロードするのはサイト内で使用するアップロードファイルを管理する上ではとても良い方法の一つです。

    ※ここで言う「ファイル名」はメディアとして投稿されたタイトル(投稿タイトル)ではなくアップロードファイルのURLと使用される「xxxx.jpg」のようなファイル名です。

    ですが、投稿数が多い場合や多くの画像をアップロードしたい場合などついつい面倒になってしまうこともあるかと思います。
    また、何も気にせずにファイルをアップロードする際に問題になりがちなのがマルチバイトのファイル名(日本語のファイル名)のファイルや意図せず記号が含まれたファイル名のファイルをアップロードしてしまうようなケースです。(後者の記号が含まれるファイル名のケースはあまりないかもしれませんが。)

    ※WordPressのデフォルトの仕様では日本語のファイル名はそのままアップロードされたファイルのファイル名として使用されます。記号についてはファイル名の先頭の記号は削除され、その他の記号は使用可能な記号であればそのままの形でファイル名として使用されます。

    日本語でWordPressを運用している方の多くは「WP Multibyte Patch」というプラグインを使用されているかもしれません。(私も過去、長く利用させていただいておりました。ありがとうございます。)
    このプラグインはマルチバイトの文字に対していくつかの補助機能があり、その一つに日本語のファイル名のファイルをアップロードした際にファイル名を自動的に「ca49f15f9b95aa9a7284dae2aacb195b.jpg」のような半角英数のファイル名に変換する機能があります。

    この日本語ファイル名のmd5ハッシュ化は「WP Multibyte Patch」プラグインを使用しなくても簡単に実現は可能です。また、同様のコードでアップロードするファイル名を特定のルールに沿ったファイル名に変換することが可能です。

    続きを読む »

  • オリジナルのシステムを開発構築する際にデータベース側はのテーブルの構成・構造、インデックス等を検討して設定するわけですが、その際にチェックする(あるいは開発後もチェックしたりする)スロークエリーについて。
    MySQLではSQL処理の際に想定外に遅い処理となっているSQLについてログの出力を行えます。
    この設定は通常、MySQLの設定ファイル(/etc/my.conf 等)で行い、SQLの実行に時間がかかるクエリーをログとして出力しチェックします。その設定部分です。
    続きを読む »

  • WindowsにもMacと似た開発環境を念のため用意しておこうと思い久しぶりにXAMPPをインストールした時の備忘録。

    必要な環境としてはPHP7.2、Apache2.4、MySQL5.7.9~(utf8mb4を同様に使用できれば可)といった辺りが条件。

     

    XAMPP 7.2.0 は以下のようなバージョン構成。

    • PHP 7.2.0
    • Apache 2.4.29
    • MariaDB 10.1.29
    • OpenSSL 1.0.2n (Unix)/ 1.1.0g (Windows)
    • phpMyAdmin 4.7.6

     

    続きを読む »

  • ものすごく久しぶりにEC−CUBEをさわる機会ができました。以前設定したローカル環境のサイトを確認してみるとエラーが表示され、管理画面へのログインも出来ない。
    原因はローカル環境のMySQLのバージョンに関連することはすぐに予想できたため、少し調べてみました。

    修正部分は /htdocs/ec-cube/data/class/db/dbfactory/SC_DB_DBFactory_MYSQL.php の最終ブロックの1行のみ。

    MySQLのデフォルトストレージエンジンはMySQL 5.5 からInnoDB。(これ以前はMyISAM)

    エラーメッセージで表示されている storage_engine は下記ページの通り、MySQL 5.7.5 で削除されており、現在は default_storage_engine を使用する。

    storage_engine: This variable is deprecated and was removed in MySQL 5.7.5. Use default_stor…

     

    続きを読む »

  • 開発環境のPHPを5.3.3から5.6.29にバージョンアップさせた際の備忘録。

    これまでHomebrewを使用してインストールしたPHP5.3.3を使用していたが、さすがに5.6系以上のものが依頼されるサーバーでのデフォルト環境となってきたため変更しました。
    逆に言うとこれまでもう古くなってしまったPHP5.3系をデフォルトで使用しているレンタルサーバーなども存在したためここまでバージョンアップを引っ張っていました。

    バージョン切り替えを行えるように設定すればそれで良いのだがそれはまた別の機会に。

     

    最終的にPHPは5.6系に、MySQLは5.7系、Apacheは2.4系、PHPのモジュール関連では最低限必要なimagick、mcryptをPEARはMDB2、pager、HTTP_Request2、Mail_Queueをインストール。(ApacheはMacにデフォルトで用意されているものを使用)

     

    続きを読む »