2013年4月12日金曜日

Memcachedサーバ構築

CentOS5.8にMemcachedをインストールする


まずはlibeventのインストール


ダウンロードはこちらから
http://libevent.org/
libevent-2.0.21-stable.tar.gz

wget https://github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz

tar zxf libevent-2.0.21-stable.tar.gz
cd libevent-2.0.21-stable
./configure
make
make install


次にMemcachedのインストール


ダウンロードはこちらから
http://memcached.org/
Memcached v1.4.15

wget http://memcached.googlecode.com/files/memcached-1.4.15.tar.gz
tar zxf memcached-1.4.15.tar.gz
cd memcached-1.4.15
./configure --with-libevent=/usr/local/lib/
(./configure --with-libevent=/usr/lib64/)
make
make install

これでインストールが完了したので起動してみると
memcached -d -u nobody -m 2048
memcached: error while loading shared libraries: libevent-2.0.so.5: cannot open shared object file: No such file or directory

とかなんとかエラーがでた。
shared objectが見つからねーとかいってるのでldconfigしてもういちど
[hoge@test memcached-1.4.15]# ldconfig /usr/loca/lib
memcached -d -u nobody -m 2048

無事動いた模様。


PHPから使うなら pecl memcache と pecl memcached があって
memcachedの方はlibememcached依存なんだそうです。

で、memcachedを入れようとしてたんですけど、コンパイルがエラーになっていれられないので、あきらめてmemcacheを使用することにしましたとさ。

2013年3月5日火曜日

filezillaの転送が遅い

ファイル数が多く、SFTPで接続してて、どうもLAN内のくせに遅い気がした。
暗号化のオーバーヘッドが大きいのかとFTPで接続しなおしたが、FTPのがはやいっぽいけどなんか転送中固まるorz
これはクライアントを起動してるPCの問題くさいけど。

あとそれとは別に編集→設定→転送→最大同時転送数を10にしとくべしだった。

composerの続編だお。

Symfony2でKnpLabs/KnpOAuthBundleを入れようとしてたんだお。

composer.jsonのrequireに下記のように記述するとできたっぽいよ。
"require": {
"php": ">=5.3.3",
"symfony/symfony": "2.1.*",
"doctrine/orm": ">=2.2.3,<2.5-dev", "doctrine/doctrine-bundle": "1.1.*", "doctrine/data-fixtures": "dev-master", "twig/extensions": "master", "symfony/assetic-bundle": "2.1.*", "symfony/swiftmailer-bundle": "2.1.*", "symfony/monolog-bundle": "2.1.*", "sensio/distribution-bundle": "2.1.*", "sensio/framework-extra-bundle": "2.1.*", "sensio/generator-bundle": "2.1.*", "sensio/buzz-bundle": "*", "jms/security-extra-bundle": "1.2.*", "jms/di-extra-bundle": "1.1.*", "kriswallsmith/assetic": "1.1.*", "kriswallsmith/buzz": "dev-master", "knplabs/knp-oauth-bundle": "dev-master" },


なんて書いたらいいかわからない時はpackagistで調べた方がよさげだね。
ここならバージョンもなんて書いたらいいかわかるね。
でも本当はpackagistってなんなのかまだよくわかってないよ(ぉぃ

参考:Composerの使い方を調べたメモ(1)

2013年3月4日月曜日

Symfony2のcomposerでDoctrineFixturesBundleを入れようとした時に困った件

重要なこと

Symfony2.1からはComposerで外部ライブラリの管理をしているらしい。

参考:PHPの外部ライブラリの管理にComposerを使う

オートロード用のファイルも生成するらしく(まだよくわかってないんですけど)

オートローダー関連のところもドキュメントとずれてるのかなんなのかアレだった。
Composer使えば管理が簡単になって、APCクラスローダーと同等のスピードだとかなんとか言ってるじゃねえかなこれは→Composer vs Symfony 2 autoloader

DoctrineFixturesBundleのインストール

で、本題なんですけど、
本家マニュアル通りだとうまくいかず、"doctrine/doctrine-fixtures-bundle"を"doctrine/data-fixtures"にしたらうまくいった。
まだバンドルを使ってみてないけどvendorには入っている。

要はgitのアドレスに合わせて変更したってことなんです。


"kriswallsmith/assetic": "1.1.*@dev" もエラー吐いてたので、"kriswallsmith/assetic": "1.1.*"に変更したらオッケー風でしたよ。

2013年2月27日水曜日

pukiwiki-1.4.7_notb.tar.gzをphp5.4.12で動作させる

index.phpのerror_repotingをコメントアウトして入れ替える

lib/func.php
hex2binの修正、コメントアウトでもいいんでないか?
if(! function_exists('hex2bin')){
function hex2bin($hex_string)
{
// preg_match : Avoid warning : pack(): Type H: illegal hex digit ...
// (string) : Always treat as string (not int etc). See BugTrack2/31
return preg_match('/^[0-9a-f]+$/i', $hex_string) ? pack('H*', (string)$hex_string) : $hex_string;
}}


あとは参照渡しにしているところが色々エラーはいてるので治す。
全部見るのがめんどいのでとりあえずまるっと置換したけど、今のところ大丈夫っぽい。
重要なwikiではないのでこれでよしとするw
何かあったらまた対応する。

以下メモ、適当にやったのでよく覚えてない。
こんなのに時間かけていられない。

Deprecated: Assigning the return value of new by reference is deprecated in
532行目辺り
$config = &new Config('AutoLink');
の&を取る

Only variable references should be returned by reference
Only variables should be passed by reference
lib/convert_html.php
$body = & new Body(++$contents_id);
&をとる
$obj = new Paragraph('', $class);
&をとる

& $obj
& new
とにかく&を取る

Call-time pass-by-reference has been removed
plugin/ls2.inc.php 69行目
&をとる


lib/init.phpのなんだっけか