PHP_CodeSnifferインストール

インストール

$ pear install PHP_CodeSniffer
downloading PHP_CodeSniffer-1.2.2.tgz ...
Starting to download PHP_CodeSniffer-1.2.2.tgz (311,533 bytes)
.................................................................done: 311,533 bytes
install ok: channel://pear.php.net/PHP_CodeSniffer-1.2.2

確認

$ phpcs --version
PHP_CodeSniffer version 1.2.2 (stable) by Squiz Pty Ltd. (http://www.squiz.net)


参考

Deprecated:警告を非表示にする。(PHP5.3.x)

自宅環境でPEAR::HTML_QuickFormを使ったら以下のように大量に警告が出た。



以下、エラー一部抜粋(検索用)

・・・・・
PHP Deprecated:  Assigning the return value of new by reference is deprecated in /usr/share/pear/PEAR/HTML/QuickForm/date.php on line 410
・・・・・

バイト先の環境では出てなかったのに。調べたら・・・



PHP 5.3.0 では新しく二つのエラーレベルが加わりました。 E_DEPRECATED と E_USER_DEPRECATED です。 E_DEPRECATED エラーレベルは、 特定の機能が推奨されないことを示すのに使います。 E_USER_DEPRECATED エラーレベルは、ユーザー定義のコードで推奨されない機能、たとえば E_USER_ERROR や E_USER_WARNING のようなものを示すのに使います。

INI ディレクティブで推奨されないものは以下の通りです。 これらのひとつ以上を有効にすると、起動時 E_DEPRECATED エラーが発生します

php.netでこんな感じで発表されていた。非推奨な関数は使いたくないけど、PEARを使わないのもめんどうなので、現状回避策として、エラー表示をphp.iniを編集して非表示にすることに。
php.iniの設定で警告を回避!

$ vim /etc/php.ini
・・・・・

error_reporting  =  E_ALL
;↓変更
error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED

・・・・・

Apacheにリロードかけて、確認する。

$ /etc/rc.d/init.d/httpd reload



おーエラー消えた。

参考

SambaをインストールしてWindowsのファイルサーバに。

誤ってこの記事を消してしまった・・・。結構時間かけて書いたのに、残念。どうにかページを復元できないかとChromeのキャッシュから復元させようと一時間以上粘ったが・・技術的に無理だった。

やっとことは以下のサイトと同じ。自分用にメモ。

参考

・サーバにしたこと

・復元

iTunesの共有ディレクトリを作成する。DAPPサーバ(Firefly)

前回Sambaインストールしたので、やっと本題のiTunesの共有ディレクトリを作成する作業に。

Fireflyをインストール
とりあえず必要みたいなのでlibid3tag-develをyumする

$ yum -y install libid3tag-devel sqlite-devel
$ wget http://nightlies.fireflymediaserver.org/nightlies/svn-1586/mt-daapd-svn-1586.tar.gz
$ tar zxvf mt-daapd-svn-1586.tar.gz
$ cd mt-daapd-svn-158
$ ./configure --enable-sqlite3 && make && make install
・・・・・
configure: error: id3tag.h not found... try --with-id3tag=dir

エラー発生。どうやらlibid3tagの何かが足りないらしい。なので入れる。

$ wget ftp://ftp.mars.org/pub/mpeg/libid3tag-0.15.1b.tar.gz
$ tar xzfv libid3tag-0.15.1b.tar.gz
$ cd  libid3tag-0.15.1b
$ ./configure
$ make; make check
$ make install

libid3tagが入ったので、もう一度インストール。

$ cd mt-daapd-svn-158
$ ./configure --enable-sqlite3 && make && make install

今度は成功した。続いて、起動スクリプト、設定ファイルを所定のディレクトリにコピーし、所有者を変更する。

$ cp contrib/init.d/mt-daapd-fedora /etc/rc.d/init.d/mt-daapd
$ cp contrib/mt-daapd.conf /usr/local/etc/
$ chown nobody:nobody /usr/local/etc/mt-daapd.conf

とりあえずインストールは終了。

Firefly設定

$ vim /usr/local/etc/mt-daapd.conf
・・・・・
#管理ページアクセスするために任意のパスワードを指定
admin_pw = xxxxxxxx
・・・・・
#DBタイプをsqlite->sqlite3へ変更
db_type = sqlite3 ← DBタイプとしてsqlite3を指定
・・・・・
#MP3ファイル格納フォルダを指定
mp3_dir         /home/mp3
・・・・・
#行頭の#を削除してコメント解除(MP3ファイル格納フォルダを5分間隔で再読込みする)
rescan_interval 300

Samba設定

vi /etc/samba/smb.conf
・・・・・
#以下を最終行へ追加
[mp3]
   comment = Music Box
   path = /home/mp3
   public = yes
   writable = yes
   only guest = yes

MP3ファイル格納ディレクトリ作成&所有者変更

$ mkdir /home/mp3
$ chown nobody:nobody /home/mp3/

変更した設定を反映させる

$ /etc/rc.d/init.d/smb reload

Firefly起動
起動スクリプトを変更する

$ vim /etc/rc.d/init.d/mt-daapd
・・・・・
#コメントアウト(再起動不可対処)
        #killall -INT mt-daapd
#コメント解除(再起動不可対処)
        killproc mt-daapd

起動させる

$ /etc/rc.d/init.d/mt-daapd start
Starting DAAP server: /usr/local/sbin/mt-daapd: error while loading shared libraries: lib                    id3tag.so.0: cannot open shared object file: No such file or directory
                                                           [失敗]

なぜか失敗。調べたら/etc/ld.so.confを設定する必要があるらしいので編集

$ vim /etc/ld.so.conf
include ld.so.conf.d/*.conf
#以下を追記
/usr/local/lib

で設定を反映させ、もう一度起動してみる。

$ /sbin/ldconfig
$ /etc/rc.d/init.d/mt-daapd  start

成功したので、自動起動設定をしておく。

$ /sbin/chkconfig mt-daapd on

Fireflyの確認
http://サーバ名:3689/にアクセスして管理ページへアクセスできることを確認。ユーザ名・パスワードはFirefly設定ファイルのadmin_pwで指定したものを指定
iTunesの設定
iTunes起動->編集->設定->詳細タブ->[iTunes Media]フォルダーの場所->変更をクリック。

\\サーバのIP\mp3

にする。以上で設定終了。
コンピュータに入っている曲を移す場合は

\\サーバのIP\mp3

へコピーした後、コピーしたディレクトリをドラッグして、iTunesに落とせば勝手にインポートされる。
実際にCDをインポートしてみて、mp3フォルダに追加されているかを確認することを推奨しますwでは。


参考

現在いるディレクトリ以下にある.svnファイルをすべて削除する

.svn ファイルがあるディレクトリをコピーして、svn addしてもaddできなかったので。その.svnファイルを消すことに。その時使ったコマンド

$ rm -rf `find ./ -type d -name .svn ! -regex \.svn/. -print`

参考

サーバが落ちたので、GoogleCodeのレポジトリへ乗り換えた

作業中に、ゼミのサーバがいきなり落ちて、書いていたソースが台無しになったので、GoogleCodeのレポジトリを使うことに・・・その際、独自の認証の仕方にハマったので、その時のメモ。

$ svn コマンド https://プロジェクト名.googlecode.com/svn/trunk/パス --username Googleアカウント名 --password GoogleCode.comのパスワード

やはりサーバは安定稼動していないといかんですな。もっとGoogleのサービスを使っていこうと思った。けど、GoogleCodeは英語だ・・・。

参考