Fatal Error: Unexpected BLOG

主に自分用の備忘録として

【CentOS】vsFTPdでFTPSかつchrootなFTPサーバを構築する

諸々の事情が絡み合って、外部サーバからFTP接続してファイルをアップロードしなければならない状況になったので、 「SFTPでいいじゃん。」と思って立ててなかったFTPサーバを立てることにしました。但し平文FTPではやはりアレなので、FTPSを有効にします。 …

【EC-CUBE】複数の商品を大量に購入すると、購入データが途切れる現象

複数の商品を大量にカートに入れると、その後の購入フローや管理画面から注文データを確認した際に、配送情報や送料などのデータが消失してしまう事象がありました。 危うくハマりかけていたところ、弊社のウィザードから天の声を頂きましたので、忘れないよ…

【EC-CUBE】商品規格を設定している商品の在庫を、規格ではなく商品単位で動くようにする

タイトルがちょっと分かりにくいですが、まとめると以下の様な感じです。 商品Aに規格設定を使って「ラッピング有無」を設定 商品Aの規格画面で、それぞれの規格に在庫「10」を設定 商品A「ラッピング有り」→ 10 商品A「ラッピング無し」→ 10 商品A「ラッピ…

【Arduino】予備知識ゼロからArduinoをはじめてみる

前々から気にはなっていたのですが。 何はともあれやってみようということで、uno版を購入。とりあえず本家サイトのGetting Started通りに進めてみようと思います。 ちなみにPCはWindows8.1です。 Arduino - Getting Started IDEをインストール 何はともあれ…

【PHP】DOMDocument::loadHTML()で日本語が化けるときの対処法と残った謎

PHP

ファイルから読み込んだ断片的なHTML文書をDOMDocumentクラスを使って解析しようとした時に文字化けに遭遇した。 とりあえず文字化けは回避出来たけど、原因とか根本的な解決とか謎のままなのでメモ。以下のサイトを参考にさせて頂きました。 PHPのDOMDocume…

【EC-CUBE】Googleアナリティクスのコンバージョンタグを設置する

タイトル通り、GoogleアナリティクスのコンバージョンタグをEC-CUBEの購入完了画面へ設置する方法です。 以下のサイトを参考にさせて頂きました。 ECサイトを作ったら設定しないと絶対損するGoogleAnalyticsのキホン | eコマースコンバージョンラボ EC-CUBE…

【EC-CUBE】動的ブロックを追加する

EC-CUBEに動的ブロックを追加する方法です。 以下のサイトを参考にしました。 EC-CUBEのブロックを作成・追加する方法 | Designup 環境 EC-CUBE 2.13.3 MySQL 5.5.38 PHP 5.4.40 管理画面からブロックを追加 まずは通常通り、EC-CUBEの管理画面からブロック…

【VM】【環境構築】VirtualBoxを使ってPC上に開発環境を構築する(6 - phpMyAdminを設置する)

VM

データベースを視覚的に操作するために、phpMyAdminを設置します。 前回までに構築している環境は以下の通り。 CentOS6.4 Nginx PHP-FPM MySQL Nginxの設定やら何やらで大分手こずりました。 以下のサイトを参考にしました。 CentOS 6にnginxとphpMyAdmin最…

【VM】【環境構築】VirtualBoxを使ってPC上に開発環境を構築する(5 - FTPサーバを設定する)

VM

これまででNginxとPHP-FPMがインストール出来ました。 FTPによるファイルアップロードは想定していないのですが、一応FTPでもつながるようにしておきます。 ということで、今回はFTPサーバの構築を。以下のサイトを参考にしました。 はじめての自宅サーバ構…

【VM】【環境構築】VirtualBoxを使ってPC上に開発環境を構築する(4 - PHP-FPMをインストールする)

VM

前回はDBサーバにMySQLをインストールしました。 今回はWEBサーバにPHPをインストールします。 WEBサーバにはNginxを使っているので、PHPはPHP-FPMを利用します。 PHPのバージョンは5.5.20です。 以下のサイトを参考にしました。 【シンプル】CentOS6にPHP5.…

【VM】【環境構築】VirtualBoxを使ってPC上に開発環境を構築する(3 - MySQLをインストールする)

VM

前回、「次回はPHP-FPMをインストールする」と言っていましたが、流れで先にMySQLをインストールしてしまったので、今回はMySQLのインストールを。。 以下のサイトを参考にしました。 CentOS 6.4 に MySQL 5.6 をサクッとインストールする mysqlを5.1->5.6に…

【MySQL】重複していないはずなのにDuplicate Entry エラー

INSERT文で複数行をINSERTする際、「Duplicate entry for primary key」で怒られた。 カラムAとカラムBの複合主キーを設定していて、こんな感じのINSERT文を発行した。 INSERT INTO `table` (columnA, columnB) VALUES ('000001', '000001a'),('000001', '00…

【EC-CUBE】商品情報に検索で利用出来る項目を追加する

商品情報に独自の項目を追加して、商品検索でも使えるようにする方法です。 環境は以下の通り。 EC-CUBE 2.13.3 PHP 5.4.35 MySQL 5.5.38 実装は自己責任で。 データベースに項目を追加する なにはともあれ、データベースに項目を追加します。 phpMyAdminな…

【VM】【環境構築】VirtualBoxを使ってPC上に開発環境を構築する(2 - Nginxをインストールする)

前回はVMにCentOSをインストールして、ネットワーク設定を行いました。 今回はNginxをインストールして、PCのブラウザからHTTPアクセス出来るように設定します。 以下のサイトを参考にしました。 virtualbox(centos)でnginxインストールメモ - Qiita How To …

【VM】【環境構築】VirtualBoxを使ってPC上に開発環境を構築する(1 - CentOSをインストールする)

PC(Windows7)上にVirtualBoxを使ってWeb開発環境を構築します。 目標とする環境は以下の通り。 ・Webサーバ(Nginx1.6.2)×2台(クラスタリング) ・DBサーバ(MySQL5.6.13)×2台(レプリケーション) ・コントロールサーバ×1台 ・OSは全てCentOS6.4(え・・…

【PHP】preg系関数で全角文字がマッチしなかったら・・・

PHP

正規表現は奥が深そう過ぎて常に腰が引けてます。 今回ハマったのは、全角記号のマッチング。一般的な全角文字っていうことならググると色々出てきますが、もっと限定的なもので良かったので、意外とあっさり解決出来ました。 以下のサイトを参考にさせて頂…

【EC-CUBE】商品登録時に詳細メインコメント欄にYouTUBE動画を埋め込めるようにする

商品登録・変更時に詳細メインコメント欄にHTMLを記述したいときってあると思うんですが、デフォルトのままだと禁止タグが設定されていて、結構限定的なものしか使えません。(tableとかdivとか) 通販サイトなら商品の使い方とか料理のレシピとか、訴求効果…

【PHP】simplexml_load_stringの挙動がわけわかめ

PHP

なのでメモっておく。 参考 PHP: simplexml_load_string - Manual PHPのバージョンは 5.3.3です。 simplexml_load_stringは、文字列として渡したXMLを、オブジェクトとして返してくれる便利なやつだけど、時々おかしなことする。 たとえば、↓みたいなXMLを文…

【MySQL】UPDATE文でINNER JOINする

忘れるのでメモ。 UPDATE `tableA` INNER JOIN `tableB` ON `tableA`.`column1` = `tableB`.`column1` SET `tableA`.`column2` = `tableB`.`column3` WHERE `tableA`.`column1` = `tableB`.`column1` カラム名がtableAとtableBで同一のものがある場合、以下…

【PHP】exec関数でPHPスクリプトをキックする

PHP

phpのexec関数で別のphpファイルをキックする方法です。 以下のサイトを参考にさせて頂きました。 PHPにて重い処理を別スレッドで実行する方法! | WebTerminal PHP: exec - Manual コード exec("nohup php -c '' '/path/to/script.php' 'arg' > /dev/null &…

crontabでPHPファイルを自動実行する

カテゴリPHPにしてますが、crontabの話です。 設定した時間(時刻)にコマンドを実行してくれる便利なやつ。 自分用にメモ。 以下のサイトを参考にさせて頂きました。あと、弊社のウィザード。 crontabの書き方 — server-memo.net Linux:cron(クーロン)で…

【PHP】ZipArchiveで作成したZIPファイルが解凍できない

PHP

いやー、ハマったハマった。 別処理でサーバ上に作成されるいくつかのCSVファイルを、ZIP圧縮してダウンロードさせるフォームを作りまして。 ダウンロードまでは問題なく出来たのですが、肝心のZIPファイルが解凍できない。 Lhaplusで解凍しようとすると、「…

【PHP】extendsしているクラスで__construct()をオーバーライドする場合

PHP

挙動として予想外だったので、メモ。 親クラスを継承するクラスにおいて__construct()をオーバーライドしている場合。 class SuperClass { private $name; function __construct() { $this->name = 'John Doe'; } } class SubClass extends SuperClass { pri…

【PHP】シングルトンモデルの実装(解説はありません。)

PHP

忘れると思うので、メモ。 以下のサイトを参考にしました。 memo.txt: 【システム開発】PHP5でシングルトンパターンの実装する話【PHP】 class SingletonClass { private static $instance = null; private $property; private function __construct() { } p…

【PHP】mb_send_mailで添付ファイル付きメールを送信する

PHP

普通は添付ファイル付ける場合はmail()関数で実装するようですが、私のように「エンコーディングが面倒だ!」という場合は、mb_send_mail()でも添付ファイル付きのメールを作成・送信できます。で、私自身忘れるのでメモ。 以下のサイトを参考にさせて頂きま…

【EC-CUBE】問合せフォームに画像をアップロードできるようにする

問合せフォームから画像をアップロードさせて、メールで送信する方法です。環境は以下の通り。 EC-CUBE 2.13.2 PHP 5.4.29 MySQL 5.5.38 以下のサイトを参考にしました。 PHPで添付ファイル付きメールを送信 | refirio.org PHP で添付ファイル付きメールを送…

【EC-CUBE】入力フォームの必須項目を変更する

EC-CUBEデフォルトの会員登録フォームはちょっと項目数が多い。しかもほとんどが必須項目。 商材にもよると思いますが、「これは別にあってもなくてもいいや。」ということもあるはず。 ということで。 入力フォームの必須項目を必須でなくする 今回は自力で…

【PHP】PHPからcURLを利用してFTPでファイルをダウンロードする

PHP

PHPの公式マニュアルの通りにしても、エラーが返る。ハマったのでメモ。 以下のサイトを参考にしました。 http://www.hcn.zaq.ne.jp/___/unix/curl_manual.html#FTP-and-PATH-NAMES http://www.atmarkit.co.jp/fnetwork/rensai/netpro10/ftp-responsecode.ht…

【EC-CUBE】カテゴリに項目を追加する

EC-CUBEの管理画面からカテゴリを登録/編集する画面に、項目を追加する方法です。 EC-CUBE 2.13.2 PHP 5.4.29 MySQL 5.5.38 以下のサイトを参考にさせて頂きました。 EC-CUBEでプラグインを使わずに"カテゴリ説明文"を追加する方法 - NAVER まとめ 早速取り…

【EC-CUBE】商品サブ情報数の追加

EC-CUBEで管理画面から登録できるサブ情報の数を増やす方法。多分忘れるのでメモ。 EC-CUBE 2.13.2 PHP 5.4.29 MySQL 5.5.38 DBへカラム追加 dtb_productへカラムを追加する。 ALTER TABLE dtb_products ADD COLUMN sub_title7 text AFTER `sub_large_image6…