[PHP] ロリポップ環境下におけるpearの使用

amazon関連のpackageを使いたかったので、借りてるlolipop上でpearを動かすことにする。

まず、go-pearを探す。
http://pear.php.net/manual/ja/installation.getting.php

「ホスティング環境下でのPHP」を参考に、ドキュメントルート下に/pearを作って、そこにgo-pear.phpを設置してアクセス。何をするのかよく分からんし、とりあえずパーミッションは777にしておいた。

実行すると中々立派なGUIが出る。

そのままインストールを続けようとすると、以下のようなエラーが出る。

Fatal error: No PEAR.php in supplied PEAR directory: @pear_dir@ in /home/users/2/lolipop.jp-dp13261450/web/index.php on line 24

ということで、/pearに生成されたindex.phpをいじる。@pear_dir@の部分を/pearまでのパスに書き換える。

パスはユーザ専用ページに書いてあったはず。

ページ下部のQuick install a packageでパッケージ名を入力する。

目当てのServices_Amazonに辿りつくまで、dependencyの関係で2つ3つのパッケージのインストールについて聞かれたけど、無事に導入成功。

Services_Amazonは、インスタンス生成時に以下の情報が必要。

  • AWSのKeyID
  • 同上に付随するSecret key
  • Associate ID

上記のアカウントは、以下のサイトで登録して持ってくる。
http://www.amazon.co.jp/gp/feature.html/?docId=451209
の一番上。

Services_Amazon::ItemSearch(mixed array);で検索を行う事ができる。

required parameterとしては、以下のようなindexを持つ値を連想配列で食わせる必要がある
‘Keywords’,’Title’,’Power’,’BrowseNode’,’Artist’,’Author’,’Actor’,’Director’,’AudienceRating’,’Manufacturer’,’MusicLabel’,’Composer’,’Publisher’,’Brand’,’Conductor’,’Orchestra’,’TextStream’,’Cuisine’,’City’,’Neighborhood’

 

[debian] [linux] smartctlについて

参考になりそうなURLを貼っておく、後でじっくり読む。

一番参考になりそう、日本語。
http://smart.jinaka.com/

大元くさい?
http://smartmontools.sourceforge.net/badblockhowto.html

さて行動一覧
まず対象は /dev/sdc で、ここにはsdc1というpartitionが1つある、多分拡張領域。
何しろ

# sfdisk -l /dev/sdc

Disk /dev/sdc: 0 cylinders, 255 heads, 63 sectors/track
read: 無効な引数です

sfdisk: read error on /dev/sdc - cannot read sector 0
 /dev/sdc: unrecognized partition table type
No partitions found

どうしようもない。

続いてSMARTの簡易テスト?みたいなことをやってみる。

# smartctl -a /dev/sdc -T permissive
smartctl version 5.38 [x86_64-unknown-linux-gnu] Copyright (C) 2002-8 Bruce Allen
Home page is http://smartmontools.sourceforge.net/

Short INQUIRY response, skip product id
SMART Health Status: OK
Read defect list: asked for grown list but didn't get it

Error Counter logging not supported
Device does not support Self Test logging

どうもdefect listというのを取得できてない様子。

次にsmartdが何を吐き出してるのか見るため、/var/logを眺めてみた。

# tail /var/log/messages
Nov 14 21:33:42 asuki-saba kernel: [139291.099086] program smartctl is using a deprecated SCSI ioctl, please convert it to SG_IO

続いて参考になりそうなURL
http://d.hatena.ne.jp/kinneko/20070530/p10

現在Short Testを行う、バックで動いてるようだが、全然何も出てこないので不安極まる。

# smartctl -t short -d scsi /dev/sdc -T permissive
smartctl version 5.38 [x86_64-unknown-linux-gnu] Copyright (C) 2002-8 Bruce Allen
Home page is http://smartmontools.sourceforge.net/

Short INQUIRY response, skip product id
Short Background Self Test has begun
Use smartctl -X to abort test

大丈夫なのだろうか・・・。結果を確認したいけど/var/logに出るのこれ?

[debian] [linux] サーバ機のディスクに問題発生か?

ちょっとした事情があってサーバ機の電源を落として、事を済ませた後に再起動。
しかし問題、ディスクが1つ正常にマウントされていないようだ。

原因は分からない、とりあえず再マウントしようと試みる。

#  mount -t ext3 /dev/sdc1 /var/storage3

ファイルシステムの不一致?みたいなエラーが出る。
ニッチもサッチもいかないので、SMARTを試してみようと思った。サーバ機はdebianのlennyだったっけな…。

# aptitude install smartmontools

でsmart絡みのツールが手に入る。
しかし気になったのは、インストール時にsmartdが動いてないようなログが残っている。なんでだろう。

まぁともかく、ちょっと調べてみる。そもそもsmartが機能してるかどうか

root@asuki-saba: /usr/sbin# smartctl --all /dev/sdc -T permissive
smartctl version 5.38 [x86_64-unknown-linux-gnu] Copyright (C) 2002-8 Bruce Allen
Home page is http://smartmontools.sourceforge.net/

Short INQUIRY response, skip product id
SMART Health Status: OK
Read defect list: asked for grown list but didn't get it

Error Counter logging not supported
Device does not support Self Test logging

smartは普通にいけてる。なんかdefect listというのが出て来てないみたい。

とりあえずよく分からん、何はともあれテストしてみようと思った。

root@asuki-saba:/usr/sbin# smartctl --test=long /dev/sdc -T permissive
smartctl version 5.38 [x86_64-unknown-linux-gnu] Copyright (C) 2002-8 Bruce Allen
Home page is http://smartmontools.sourceforge.net/

Short INQUIRY response, skip product id
Extended Background Self Test has begun
Use smartctl -X to abort test

ということで今バックグランドでテスト中。

次の課題はdefect listって何だろう、という点。

[PHP] ヒアドキュメントに関して

ヒアドキュメントとは、PHPコード中に多くの行を出力するとき、まとめて出力する機能です。

http://php.net/manual/ja/language.types.string.php

書いてあるんだけど、終了IDの前にtabとか入れたらいけないし、終了タブセミコロンの後ろに空白が入ってもいけない

基本だと思ったけど、NetBeansで見てて初めて知ったので書いておく。

 

sourceforgeの利用を開始してみた

結果を積み上げるということで、sourceforgeを使うことにしてみるんよ。

スキルを上げる目的もあるし、結果を積み上げずに揮発させる人生をこれ以上送らないためにも望ましいことだと思う。

今日はアカウントを作ってPersonal Project機能を使ってみた。

次は実際に活動しようと思う。