月: 2008年11月

【EC-CUBE】PHPに関する覚書

EC-CUBEの覚書。

1)PHPのセッティングをオーバーライドでカスタム設定にしたいとき。

→APACHEのモジュール版(通常ROOT権限をもらえるサーバに使用されていることが多い)の場合は、.HTACCESSで設定する。.HTACCESSを設置したディレクトリ以下の全てに適用される。

→CGIモジュール版(レンサバで多い)の場合は、PHP.INIで設定する。PHP.INIを設置したディレクトリのみに適用される。

※PHP設定を確認するには、

<?php
phpinfo();
?>

と記載したphpファイルを確認したいディレクトリにアップロードし、アクセス。

2)パラメータ設定などで更新時に\(バックスラッシュ)が入ってしまい、更新エラーになることがある。

→ほぼ、PHPの設定で、magic_quotes_gpcがonになっていることが原因。PHP.INIまたは.HTACCESSで自分の環境の設定を変更するか、自分の利用しているサーバのPHPがモジュールかCGIか分からない場合は、いずれで設定変更できるのかをサーバ会社に連絡して確認する。

2GBもあって無料!超便利な同期機能付きWEBストレージサービスDROPBOX

https://www.getdropbox.com/

オンラインストレージサービスといえば、GOOGLE!と思っていたけど、これは結構便利そう。

米Evenflow, Inc.が運営するオンラインストレージサービス「Dropbox」。

2GBの容量のストレージを無料登録で利用できる。

一番すごいのは、ファイルの同期機能。MACでもリナックスでもウインドウズでも、PCに同期ソフトを設定しておくだけで、常にどこかで自分の更新した最新ファイルと同期してくれるし、PCにファイルが残るわけなのでバックアップツールとしても利用できる。

また、ファイルのダウンロードは、同期ソフトが無くてもブラウザ経由で可能だから、会社からオンラインストレージにファイルをアップロード→普段使ってないPCからブラウザ経由でファイルをダウンロード、ということも可能。

↓使い方など詳しくは、WEB担フォーラムで紹介されている。

http://web-tan.forum.impressrd.jp/e/2008/11/13/4371

【EC-CUBE】データベース内の文字化け対策

DBを作ったら、先にphpMyAdminでDBに接続。

上のタブで、SQLを開き、まずは、

status

または、

show variables like “char%”;

と打ち込んで、現在の文字コードを確認。

サーバの設定にあたる「character_set_server」以外をUTF8に揃える。

ので、

set names utf8;
または、
alter database 〜DB名 character set utf8; (←たぶんこっち。)

で変更。確認して変更されていればOK。

これで変更できない場合は、phpMyAdminのトップページなどから、「照合順序」で変えればいいかと。

character_set_serverは、サーバの設定なので、個別には変更できないが、専用サーバなどであれば、my.conf等で変更可能。

my.cnfの[mysqld]のところにdefault-character-set=utf8と書いておけばOK。

2.3.2以前の場合は、それだけでは、システム動作時に文字化けに戻ってしまうので、

data/class/SC_DbConn.php

L64~
$this->conn = $objDbConn; 
の手前に、

if (DB_TYPE == 'mysql') {
$objDbConn->query('SET NAMES utf8');
}

を追加。(参考:http://svn.ec-cube.net/open_trac/changeset/17559)この場合、my.cnfの設定は必要ない。