現在運用中のEC-CUBEのサイトがある。
さくらインターネットの共用サーバで動作している。
で、今まではPCサイトのみで動作していたのだが、モバイル版もカスタマイズして使えるようにして欲しいと。
専用サーバの場合、ゴリゴリとサーバ自体の設定をいじれるから問題無いのだが、さくらの共用サーバはそうもいかない。
インストールされた状態のままでもうまく動かない。
色々やって、うまく動くようになったので、備忘録。
1) SC_DbConn.phpの修正(data/class/SC_DbConn.php)
DB接続部分でなにやらエラーが出てうまく動かなかったので、コンストラクタのDB接続部分をこんな感じで修正。
// 既に接続されていないか、新規接続要望の場合は接続する。 if(!isset($objDbConn->connection) || $new) { if($dsn != "") { $objDbConn = DB::connect($dsn, $options); $this->dsn = $dsn; // ここから下3行を追加 $buf = $objDbConn->prepare('SET NAMES utf8'); $objDbConn->execute($buf); mysql_set_charset("utf8"); } else { if(defined('DEFAULT_DSN')) { $objDbConn = DB::connect(DEFAULT_DSN, $options); $this->dsn = DEFAULT_DSN; } else { return; } } }
2) php.iniをばらまく
さくらサーバの場合、html/mobile配下に設置されている.htaccessが効かないので、php.iniにして、その配下のディレクトリ全てにばらまく。
$ cd html/mobile $ mv .htaccess .htaccess.bk $ vi php.ini mbstring.language=Japanese output_handler=null mbstring.encoding_translation=Off magic_quotes_gpc=Off mbstring.internal_encoding=UTF-8 variables_order=EGPS session.auto_start=Off session.use_trans_sid=On $ cp ./php.ini ./cart/ $ cp ./php.ini ./contact/ $ cp ./php.ini ./entry/ $ cp ./php.ini ./forgot/ $ cp ./php.ini ./frontparts/bloc/ $ cp ./php.ini ./guide/ $ cp ./php.ini ./mypage/ $ cp ./php.ini ./products/ $ cp ./php.ini ./regist/ $ cp ./php.ini ./shopping/ $ cp ./php.ini ./unsupported/ $ cp ./php.ini ./user_data/
とりあえず、こんな感じでうまく動くようになりました。
でわ。