Diary
twitterもはじめました
[321]2007/10/15(Mon)
[tag: 旧日記システム
]
普通の人と生活リズムが12時間とかズレてくると,
日記の日付をどうしたらいいかわからなくなるね。
普段,開発はPHP5が入った自分のマシンでやっていたんですが, ある程度形になったので,実際に動かす予定のさくら鯖(この鯖,PHP4)にうpしてみたんだけどなぜか動かない。 何のエラーメッセージも無し。ブラウザが悪いのかと思ってwgetとかでページを取得してみても 0Byteの何にも内容の無いファイルができるだけ。
SSHでさくら鯖にログインして
せめてエラーメッセージくらい出しやがれとか思っていたら, どうも鯖の設定が悪いらしい。 php.iniファイルにオプションを書き込めば,エラーメッセージを出力してくれるらしい。
PHP4と5ではオブジェクトを返す関数の扱いに差がある模様。
ちなみに,この得たオブジェクトはコピーされた実体なのか参照なのかよくわからん… まぁ,気にしなくても良いようにできているんだろう…と楽観的に考える。 (たぶん参照だと思う。というかそうであって欲しい…)
で,まぁ,ここまでたどり着くのに疲れて結局大して進まなかった日記PHP… こんなんばっかだな…次にソースに手をつけるのはいつだろうか…
ただ,非常に残念なのがテキストエディタ。 emacsもvimも入っていない (さくら鯖ではXが入っていないようなのでgvimはたぶん無理)。
本格的な開発はローカルでやるとしても,今回のようなデバッグ作業くらいはリモートでやりたい。 それにしてもviだけでやるのは今更結構しんどい。 vim使いとしては是非vimを使いたい。
そこで,vimをさくら鯖にインスコしてみました(大丈夫だよね…?)
PATHはbashであれば.bashrcあたりに最期のコマンドを書き込んでおけばおk.
あ,インストールに必要な空きスペースは50MBくらいだと思う。 あと,効くか分からないけど,CPUを占有しすぎなんじゃ…って思ったら
まぁそんなかんじでさくら鯖にvimがインスコできましたよってことで。
PHP4と5の違い
日記PHPを少しだけ進めました。普段,開発はPHP5が入った自分のマシンでやっていたんですが, ある程度形になったので,実際に動かす予定のさくら鯖(この鯖,PHP4)にうpしてみたんだけどなぜか動かない。 何のエラーメッセージも無し。ブラウザが悪いのかと思ってwgetとかでページを取得してみても 0Byteの何にも内容の無いファイルができるだけ。
SSHでさくら鯖にログインして
php diary.php
とか打ってみても,
何も出力されない。
なんとかエラーのある行くらい見つけてくれないかと思って,
構文チェックをするオプションをつけて実行しても
% php -l diary.php
Errors parsing diary.php
どの行にエラーがあるんだよ!クソ!Errors parsing diary.php
せめてエラーメッセージくらい出しやがれとか思っていたら, どうも鯖の設定が悪いらしい。 php.iniファイルにオプションを書き込めば,エラーメッセージを出力してくれるらしい。
display_errors = On
これでやっとエラーの原因が分かった。PHP4と5ではオブジェクトを返す関数の扱いに差がある模様。
//PHP5ではOK,PHP4ではエラー
$my_yome_name = $anime->getCharactor(SAKURA)->getName();
//PHP4ではこう書くしかないみたい
$temp_charactor = $anime->getCharactor(SAKURA);
$my_yome_name = $temp_charactor->getName();
このコードでは$anime内にあるオブジェクトをgetCharactor()で返し,
さらにそのメソッドで得たオブジェクトをそこから直接使用するようなのはダメらしい。
(メンバ変数,関数へのアクセスができない)
なので,一度得たオブジェクトを別の変数に移すしかないらしい。$my_yome_name = $anime->getCharactor(SAKURA)->getName();
//PHP4ではこう書くしかないみたい
$temp_charactor = $anime->getCharactor(SAKURA);
$my_yome_name = $temp_charactor->getName();
ちなみに,この得たオブジェクトはコピーされた実体なのか参照なのかよくわからん… まぁ,気にしなくても良いようにできているんだろう…と楽観的に考える。 (たぶん参照だと思う。というかそうであって欲しい…)
で,まぁ,ここまでたどり着くのに疲れて結局大して進まなかった日記PHP… こんなんばっかだな…次にソースに手をつけるのはいつだろうか…
さくら鯖にvim入れてみた
あんまり知られていない(みたいだ)けど,さくら鯖はSSHでログインできて, 様々な操作をコマンドラインで実行できる。 デフォルトはcshだがbashも使えるし,開発環境としてもgcc,perl,ruby,pythonなどが入っている (スタンダードプラン以上ならphpも)。ただ,非常に残念なのがテキストエディタ。 emacsもvimも入っていない (さくら鯖ではXが入っていないようなのでgvimはたぶん無理)。
本格的な開発はローカルでやるとしても,今回のようなデバッグ作業くらいはリモートでやりたい。 それにしてもviだけでやるのは今更結構しんどい。 vim使いとしては是非vimを使いたい。
そこで,vimをさくら鯖にインスコしてみました(大丈夫だよね…?)
# vimのソースをGet
% wget ftp://ftp.vim.org/pub/vim/unix/vim-7.1.tar.bz2
# 解凍
% tar -xvf vim-7.1.tar.bz2
% cd vim71
# configureの設定
# --prefixでインストール先パスを変更
# システムにインストールする権限なんてないし
# --disable-gtktest でGUI系はmakeしない
# さくら鯖はXが入っていない(と思う)ので
% ./configure --prefix=/home/emptyroom/ --disable-gtktest
# make
% make
% make install
# パスを通す(bash)
% export PATH=/home/emptyroom/bin/:$PATH
と,こんな感じで…
俺は% wget ftp://ftp.vim.org/pub/vim/unix/vim-7.1.tar.bz2
# 解凍
% tar -xvf vim-7.1.tar.bz2
% cd vim71
# configureの設定
# --prefixでインストール先パスを変更
# システムにインストールする権限なんてないし
# --disable-gtktest でGUI系はmakeしない
# さくら鯖はXが入っていない(と思う)ので
% ./configure --prefix=/home/emptyroom/ --disable-gtktest
# make
% make
% make install
# パスを通す(bash)
% export PATH=/home/emptyroom/bin/:$PATH
--prefix=/home/emptyroom/bin/
とやったら,
/home/emptyroom/bin/bin
にインストールされてしまって萎えた…PATHはbashであれば.bashrcあたりに最期のコマンドを書き込んでおけばおk.
あ,インストールに必要な空きスペースは50MBくらいだと思う。 あと,効くか分からないけど,CPUを占有しすぎなんじゃ…って思ったら
%nice -n 10 make
とかやればタスクの優先度が下げられる…のかなぁ…なんか無理な気がする。まぁそんなかんじでさくら鯖にvimがインスコできましたよってことで。