サーバをLinodeに移管してみた

何度か 移管を 繰り返してきている当サイトですが、今回はLinodeに移管をしてみました。 t1.microからt2.microという手もあったのですが、AWSを利用する理由も特にないかなぁということでまたVPSに舞い戻っています。 ついでにCentOSも7にしてみたので、色々変更点をメモメモ。 Linodeを契約 メンバー登録して、必要情報を入力、プランは「Linode 1024」を選択、デプロイ等ゴニョゴニョしていたら立ち上がりました。 開設あたりまでは、こちらのページに詳しく記載されていましたので参考にさせていただきました。 必要なモノをインストール AWSとほぼ同じ環境を用意していきますので、PHP(php-fpm)、MySQL、nginxをインストールしていきます… »

FuelPHPのクエリビルダでMySQLのorder by fieldを利用するためにDB::expr()を使ってみた

FuelPHP等のフレームワークを使う時はついつい便利なのでクエリビルダを利用してるのですが、どうしても特殊な操作を行う時はクエリビルダを利用するほうが分かりづらくなってしまったり、自動的にエスケープされて利用できなかったりして、結局クエリ文を直書きしてしまっていました。 その一つとして、MySQLのorder by field機能がクエリビルダにメソッドが存在しないのですが、何とかクエリビルダを使いながら実現出来ないか調べてみました。 order by fieldって? そもそもorder by fieldとは、指定した順番に検索結果を並べかえる、というMySQL独特な記法です。 SELECT * FROM `table` ORDER BY FIELD( `column`, 3, 1, »

サーバをAWS EC2+nginx+PHP+MySQLに乗り換えてみた

これまでは、さくらのVPSを利用させていただいていたのですが、最近の流行りに乗っかろうかと思いましてAWSのEC2でサーバを立ちあげて移管してみました。 単純にnginxに慣れていない事もあって色々と躓いてしまいましたが、なんとか表示できています。 不具合がまだチョコチョコ出ちゃってますが、メインコンテンツが見れてるのでとりあえず保留中です。 また何かの時に新しく作るかもしれないので、参考サイトとメモを残しておきます。 AWS EC2の設定 まずAWSのアカウントを作ってEC2のインスタンスを作ります。 使い慣れているので、CentOSを選びましたが全部同じのはなぁ…と思ってCentOS6 64bitを選択しました。 また、nginxやPHP、MySQL、WordPressまでプリインストールされているモノもあるのですが、設定方法を勉強するためにも今回はOSのみのイメージを選択しています。 WordPressを利用するだけなのであれば、こちらの記事が参考になるかと思います。 参考サイト civic site »

PHPのPDOでLIMIT句でエラーが発生した時の対処

PHPのPDOを使ってMySQLにアクセスしている時に、LIMIT句でエラーが発生してしまったので、その解決方法を残しておきます。 PDOとは PHPでデータベースを扱う際に、mysql_queryでクエリ文を受け渡していると、セキュリティの関係上行わないといけないエスケープ等が面倒です。 そこで、PHP5より実装されたPDOを使うことで、プリペアドステートメントによってデータベースに安全且つ簡単にアクセスすることが出来ます。 その他、PEARで提供されているPEAR MDB2でもプレペアドステートメントを用いることが出来ます。 PDOによるプリペアドステートメント PDOを用いたプレペアドステートメントについては下記の通り記述します。 // $dbh = new PDO(); // 疑問符を用いた例 $query = 'SELECT * FROM `table` WHERE `id` »

MySQLのユーザ定義変数を使って色々やってみた

MySQLのクエリを組み立てている時に、やりたかった事を実現するために、ユーザ定義変数を利用したので、また使うときに忘れていても良いようにメモしておきます。 ユーザ定義変数の記述方法 ユーザ定義変数の記述方法は、こんな感じ。 SET @foo:="bar"; # SETの時は @foo="bar"; でもOK 一度定義しておくと、その接続の間利用することが出来ます。 SELECT * FROM `hoge` WHERE `fuga` = @foo; ユーザ定義変数を使って行番号を追加する 簡単な例として、変数を使って行番号のカラムを追加してみます。 SET »