ロリポップでPHPのC拡張

2 月 26th, 2007 in Lolipop, PHP, Programming

ロリポップはPHPのC拡張を,コンパイルは他環境で行いsoファイルだけアップロードすることによりdl関数でできる.

問題点

  • dlの引数は相対パスじゃないといけなく,絶対パスではエラー
  • ↑より各使用フォルダにsoファイルを置けば良いが面倒くさい

対処法

以下の文を入れることでsoファイルを一か所に固めておくことができる

if(!extension_loaded("nanka")){
	$src="";
	$cnt = substr_count(getcwd(),"/")-substr_count($_SERVER['DOCUMENT_ROOT'],"/");
	// Lolipopなら多分後者は6
	for($i=0;$i< $cnt;$i++) $src .= "../"; // もうちょっと良い書き方あるかも…
	$src .= "extensions/nanka.so"; // soファイル置き場
	dl($src);
}

これをいつもincludeするファイルとかラッパークラスのファイルとかにいれとけばおk

Leave a Reply

Search

Blog

Twitter

Wassr

Recommend


とりあえず買っとく?

Ads

ドミノ・ピザ 5%OFF!

 iTunes Store(Japan)

Categories

Tags

Counter

total : 00059951
today : 00000012