2012年3月29日木曜日

symfony始めました-schema.ymlの作成

どんなDBを使うかモヤモヤと考える。
じゃあMySQLでテーブルはこんな感じかなっとノートにでも書きながら想像する。(省略可)
shema.ymlを書く。
書き方はこの辺を参考に。
Practical symfony 3日目: データモデル
The symfony and Doctrine book
INTの種類の指定の仕方
下記のようなコマンドを打って、うはーすげーな便利だなーと感動する。
php symfony doctrine:build --model
php symfony doctrine:build --sql
php symfony doctrine:insert-sql


タイムゾーンがどうとかいわれたらphp.iniにタイムゾーン設定してあるか確認する。
(してなかったので設定した date.timezone = Asia/Tokyo)

そして3番目(テーブルを実際に作成するコマンド)でハマる。
Couldn't locate driver named mysql
とか言われる。

こちらで言われている通り、確認してみる。
そういえばこれsymfony導入時にもやったじゃんと思いつつ。
・・・モジュール版(?)とCLI版で結果違う・・・?
下記コマンドでphpinfoが見れますよ。
php -i
/usr/bin/php -i
/usr/local/bin/php -i

結論から言えばCLI版のphp.iniにextension=pdo_mysql.soを書き足せばよかったってっ事。
Scan this dir for additional .ini files = (none)
って感じでCLI版はnoneになっちゃってるのが混乱の元だったんだ。

もともと以前確認した時モジュール版はOKだったはず
今思えばこの時も本当はさほど問題なかったんじゃないかと思う。

pecl install pdo-mysql とかpecl install pdo とかやっちゃったけど
これがまたまずかったらしい。
これのせいでモジュール版のPDOからもmysqlが消える。
今は標準でPHPにバンドルされていて、設定を書き換えれば済むところ、古いもので上書きした感じになったようだ?

色々嵌りに嵌ってぐるぐるぐると回りまわって
最終的にこちらで納得して解決。

2012年1月31日火曜日

symfonyはじめました-symfonyのインストール

Getting Started with symfony
symfonyのインストール


プロジェクト用のディレクトリを作る。 $ mkdir -p /home/sfproject
$ cd /home/sfproject
symfonyのライブラリのファイルをぶっこむディレクトリを作る $ mkdir -p lib/vendor ここからダウンロードしてきて展開する。 $ cd lib/vendor
$ tar zxpf symfony-1.4.16.tgz
$ mv symfony-1.4.16 symfony
$ rm symfony-1.4.16.tgz
symfonyのバージョンを表示するコマンドを使うことでsymfonyが正しくインストールされていることを確認 $ cd ../..
$ php lib/vendor/symfony/data/bin/symfony -V
終わり。簡単ですね。

おまけ $ php lib/vendor/symfony/data/bin/symfony で色々見れる。

ServerQueenのVPSにPHP5.3.9をソースからインストール

CentOS5.7でPHPのバージョンが5.2.17でしたとさ。
rpmでインストールされてました。
これを5.3にしたかった。
とりあえずまずはソースをダウンロード
http://www.php.net/downloads.php
最新安定版の5.3.9をダウンロードしました。

apacheを停止(しなくてもよかったのかもしれないが)

sudo service httpd stop ソースを解凍してインストールを試みる configureのオプションはすでにインストールされていたPHPのphpinfoを見てそれっぽいところをいじった。 tar jxf php-5.3.9.tar.bz2
cd php-5.3.9
./configure --host=i686-redhat-linux-gnu --build=i686-redhat-linux-gnu --target=i386-redhat-linux --program-prefix= --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib --libexecdir=/usr/libexec --localstatedir=/var --sharedstatedir=/usr/com --mandir=/usr/share/man --infodir=/usr/share/info --cache-file=../config.cache --with-libdir=lib --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --disable-debug --with-pic --disable-rpath --with-bz2 --with-curl --with-exec-dir=/usr/bin --with-freetype-dir=/usr --with-png-dir=/usr --enable-gd-native-ttf --with-gettext --with-gmp --with-iconv --with-jpeg-dir=/usr --with-openssl --with-zlib --with-layout=GNU --enable-exif --enable-ftp --disable-magic-quotes --enable-sockets --enable-sysvsem --enable-sysvshm --enable-sysvmsg --enable-wddx --with-kerberos --enable-ucd-snmp-hack --enable-shmop --enable-calendar --with-libxml-dir=/usr --enable-xml --with-apxs2=/usr/sbin/apxs --with-mysql --with-gd --enable-xmlreader --enable-xmlwriter --enable-json --enable-mbstring --enable-mbregex --with-xsl=/usr/lib
make
make install
で、確認 php -v
PHP 5.3.9 (cli) (built: Jan 31 2012 02:21:02)
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2012 Zend Technologies
というわけで、CLI版は問題なさそうだったんだけど、モジュール版(?)のphpinfoを見てみたらバージョン変わってなくて、しばしハマることになる。
グーグル先生の話ではlibphp5.soがバグで生成されないとのことだそうで
下記のサイトなどを参考にlibphp5.soを生成してからインストールという手順でいくことにした。
PHP5インストールでのlibphp5.soバグ対応
すると今度は
error: Could not find pcre.h in /usr
とかなんとか言い出した。
こちらを参考にしたが、すでにPCRE自体はインストールされていた。
rpm -qs pcre
インストール先を確認して、パスを指定する。
しかし上手くいかないのでいっそ何も指定せずにインストールしたらうまくいった・・・。
参考
で、libphp5.soが生成できて、もう一度コンフィグ作りなおして、インストールして終わりだったと思う。 すでにうろ覚えなのでこの記事の正確性は保証できません!
はい、おつ。

2011年11月8日火曜日

pukiwiki設置 & google Analytics webmaster tool adsense を配置

忍者ディフェンダーズの攻略サイトがまだないようだったので作ってみた。
忍者ディフェンダーズWIKI
最初はFC2でWIKIつくってみたのだが、どうも既存のWIKIサービスはアドセンスとか貼れないようだったので自鯖にpukiwikiを設置してみた。

DNSの反映に二日ほどかかった。
名前ベースのバーチャルホストなのでドメインで接続する必要があったので
DNSが反映されるまではhostsファイルにアドレス書いて編集してました。
WindowsXPではC:\WINDOWS\system32\drivers\etcにあったお。

DNSが解決されないとanalyticsとかウェブマスターツールは使えないだろうからとりあえずアドセンスを貼り付けました。
プラグインとして作成してた方がいたので、最初ちょっと真似してみたんですが、「いやコード書き換えられたらダメだからこれじゃダメじゃね?」って思って別に設定ファイル作って呼び出し時に選ぶような形にしてどの広告貼り付けるか選べるようにしました。(今3つ貼ってるます)
まぁ今思えばスクリプトコード直貼りで全く問題なかった気がしますね。(ぉw
それから上記の方のプラグインだとスクリプトに引数埋め込んじゃってるので非常に危険なんじゃないですかね。サニタイズしないと?


DNSが無事解決されるようになったら、Analyticsをまずは設置しましたよ。
コードをskin/pukiwiki.skin.phpの中に貼り付けておしまい。

ウェブマスターツールはアナリティクスのコード貼ってあると簡単に確認できるのでそれでおしまい。あぁおしまい。簡単なにも言うことなし。

この記事は何を言いたかったんでしょう?
まぁいいか。

2011年10月29日土曜日

Bloggerの共有ボタンで+1ボタンが表示されない件

bloggerのレイアウト→ブログの投稿のところで
「[共有] ボタンを表示する」にチェックをいれても+1ボタンだけが表示されなかった。

杜鵑華さんちの旅人くん: bloggerの共有ボタン(Twitterのボタンや+1ボタン)が表示されないときの対処方法を参考にjsの読み込みを追加すると表示された。

ここで思い出した!

そういやWEBマスターツールに+1ボタンの追加方法へのリンクがあったなと

というわけで
<script type="text/javascript" src="https://apis.google.com/js/plusone.js">
{lang: 'ja'}
</script>
とヘッダに入れておけば日本語のボタンが出ます。

任意の位置に入れたい場合は <g:plusone></g:plusone> といれたいところにいれればOKだと思います。 ちなみにサイズが4種類あるみたいです。 <g:plusone size="small"></g:plusone>//15px
<g:plusone size="medium"></g:plusone>//20px
<g:plusone></g:plusone>//24px
<g:plusone size="tall"></g:plusone>//60px