CentOSで添付メールを送信する
uuencodeというコマンドが必要になるのでパッケージのインストール
# yum -y install sharutils
パイプでつないであげる。
$ uuencode ファイルパス 添付ファイル名 | mail 送信先
対話モードにならないので件名などはオプションで指定。
$ uuencode ファイルパス 添付ファイル名 | mail -s '件名' 送信先
uuencodeというコマンドが必要になるのでパッケージのインストール
# yum -y install sharutils
パイプでつないであげる。
$ uuencode ファイルパス 添付ファイル名 | mail 送信先
対話モードにならないので件名などはオプションで指定。
$ uuencode ファイルパス 添付ファイル名 | mail -s '件名' 送信先
ワンライナーで気持ち悪く
php -r 'for($i=1;$i<101;$i++)echo$i%15?$i%5?$i%3?$i:"Fizz":"Buzz":"FizzBuzz","\n";'
ロジック的にはこっちのが好き
php -r 'for($i=1;$i<101;$i++)echo($s=(!($i%3)?"Fizz":"").(!($i%5)?"Buzz":""))?$s:$i,"\n";'
php5.3にしてからsymfony1.0系でsymfonyコマンドの一部でエラーがでるようになった。
$ ./symfony propel-build-model .... [phingcall] Unable to return 'affix' for unknown CreoleType: BUILD FINISHED
propelコマンドを使ってもmodelの生成ができない。
調べてみたところ、以下の方法で解決。
symfony framework forum: symfony 1.0 => Snow Leopard ? longvarchar
symfony以下lib/vendor/creole/CreoleTypes.phpの39行目を以下のように修正。
//const TEXT = 17;
const TEXT = 30;
で、調べてみたところPHP5.3.0だとこういうことらしい。
<?php
Class Hoge
{
const A = 1;
const B = 1;
public static $piyo = array(
1 => 1,
1 => 2,
);
public static $fuga = array(
self::A => 1,
self::B => 2,
);
}
var_dump(Hoge::$piyo, Hoge::$fuga);
実行結果。
array(1) {
[1]=>
int(2)
}
array(1) {
[1]=>
int(1)
}
PHP5.3.0のバグ?
PHP5.3.1RC4でも変わらず。
rpmforgeリポジトリを利用できるようにする。
# wget http://dag.wieers.com/rpm/packages/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm # rpm -Uvh rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm
ffmpeg関連をインストール。
依存関係あるものをもってきたいのでffmpegもインストールするが、rpmforgeのものはaacを利用できないため、後でソースからコンパイルするので削除する。
# yum install lame faac faad2 nasm x264 xvidcore ffmpeg zlib-devel libX11-devel libXt-devel faac-devel lame-devel xvidcore-devel gcc gcc-c++ # yum remove ffmpeg
opencore-amrのインストール。
現在のffmpegだとlibamr関連が変わっている。
rpmforgeのものは0.1.1でリポジトリのffmpegに適合しないのでソースからコンパイル。
# cd /usr/local/src # wget http://sourceforge.net/projects/opencore-amr/files/opencore-amr/0.1.2/opencore-amr-0.1.2.tar.gz/download # tar xzf opencore-amr-0.1.2.tar.gz # cd opencore-amr-0.1.2 # ./configure # make # make install # cd ..
共有ライブラリに認識させる。
# echo "/usr/local/lib" >> /etc/ld.so.conf.d/local.conf # /sbin/ldconfig
ffmpegをSubversionリポジトリからインストール。
リビジョン 20483でした。
# cd /usr/local/src # svn export svn://svn.ffmpeg.org/ffmpeg/trunk ffmpeg # cd ffmpeg # ./configure --enable-gpl --enable-libmp3lame --enable-version3 --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libxvid --disable-ffplay --disable-ffserver --enable-libfaac --enable-shared --enable-nonfree --prefix=/usr/local # make # make install # cd ..
環境変数にLD_LIBRARY_PATHを追加。
bashrcに追加しておく。
$ echo "export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:/usr/local/lib" >> ~/.bashrc $ source ~/.bashrc
gpac(MP4Box)のインストール。
docomoストリーミングファイル作成に必要。
# cd /usr/local/src # wget http://downloads.sourceforge.net/gpac/gpac-0.4.5.tar.gz # tar xzf gpac-0.4.5.tar.gz # cd gpac # chmod u+x ./configure # ./configure # make lib # make apps # make install # cd ..
$ ffmpeg -i video.flv -y -async 1 -vcodec mpeg4 -s 240x176 -r 14.985 -b 192 -acodec aac -ac 1 -ar 16000 -ab 80 -f 3gp docomo.3gp $ MP4Box -add docomo.3gp -brand mmp4:1 -new docomo_str.3gp
メモ
3のコマンド
~ # vmkfstools -i /vmfs/volumes/vmdk/guest/guest.vmdk /vmfs/volumes/vmdk/clone/clone.vmdk
mbstringで利用できる文字コードは「mb_list_encodings()」で取得できる。
が、実際は数多くあるAliaseも利用可能。
使用可能な文字コード名と MIME 名、エイリアスの一覧
ISO-2022-JP-MSはPHP5.2.1から利用でき、JISに比べて機種依存文字も利用可能になっている。
?とか機種依存文字、SJISの外字領域も保持できる。
JISとISO-2022-JPは違うんですって