NoureaのLinux日記

Linux関連の事でもぼちぼちと。Windowsの話題のほうが多いかも。

PHP関係 設定

2014-10-26 11:24:30 | Windows
Windows上で
Dynamic Extensions(php_.+\.dll)が読み込まれないとき
参照先が C:\php\とかになってるとき

extension_dir = "ext"
の部分がコメントアウトされてるので、設定してあげるとよい。

Boostのライブラリをビルドする

2012-03-01 01:01:45 | Windows
Boostライブラリを使用した時にライブラリが無いと言われることがある。

個人的には静的リンクができればよいのでその方法をメモしておく

・どちらかで --stagedir を指定しないと両方ビルドする場合に共存不可能。
・どちらも1GB程度の空き容量が必要なので注意すること。

[32bit]
bootstrap.bat
bjam.exe runtime-link=static stage

[64bit]
bootstrap.bat
bjam.exe address-model=64 --stagedir=stage64 runtime-link=static stage

このパラメーターでできるもの (vc100 / boost 1.46.1)
libboost_*-vc100-mt-s.lib
libboost_*-vc100-mt-s-1_46_1.lib
libboost_*-vc100-mt-sgd.lib
libboost_*-vc100-mt-sgd-1_46_1.lib

link=<value> static | shared : 静的リンク
runtime-link=<value> static | shared : /MTオプション : static, /MDオプション : shared

toolset=[toolset]-[version]

--with-[component]
--without-[component]

[Component : Boost 1.49.0]
chrono
date_time
exception
filesystem
graph
graph_parallel
iostreams
locale
math
mpi
program_options
python
random
regex
serialization
signals
system
test
thread
timer
wave

コンパイルせずに入手する方法として
以下のリンクより、目的のライブラリを単体毎にダウンロードすることも可能
http://sourceforge.jp/projects/sfnet_boost/releases/

cpp-netlib を利用する方法(0.9.3)
http://cpp-netlib.github.com/
本来は、cmakeを利用してビルドする必要があるようだが、設定するのが非常に面倒である。そこで、一時凌ぎではあるが、libファイルを使用しない方法があるので掲載する。
インクルードの前の辺りに
#define BOOST_NETWORK_NO_LIB
を宣言しておけばよい。
これによってヘッダーやソースのみで利用できる。


PHPのpear.iniの場所を変更する

2011-04-22 05:56:54 | Windows
Windows上にPHPを配置した場合

PEARをセットアップすると、C:\Windows 上にある pear.ini が優先的に読み込まれてしまう場合がある。

これを回避するには、環境変数に、変数の項目 PHP_PEAR_SYSCONF_DIR を追加し、値に pear.ini のあるパスを設定すればよい。

変数名
PHP_PEAR_SYSCONF_DIR

変数値
D:\path\php\



レジストリを書き換える事ができない場合

/PEAR/PEAR/Config.php にて PHP_PEAR_SYSCONF_DIR を define している部分があるので、優先度を入れ替えるか、該当部分を目的の値に書き換えればよい。



基本的には、ユーザー環境変数として設定するのが望ましい。

Windowsからext3を

2006-04-30 20:36:33 | Windows
WindowsからLinuxのファイルシステムを読み書きできたら便利だなと思い調べてみた。

Ext2だと、
Ext2 IFS For Windows
というドライバがあるようだ。ちなみに現在のバージョンは1.10bでした。
他にもあるみたいだけど自分が使ってみようと思うものだけを。

ちなみに、ウチのは全部Ext3なんだけど、
Ext3ってのはExt2にジャーナリングシステムを追加しただけのもののようなので、
Ext2用でも読み書きはできるらしい。

ということで試してみた。
LVMだと認識は無理みたい。対応するつもリストには乗ってるみたいだから数年後には認識できるようになっているのかな?普通のExt3のやつは大丈夫みたい。正式サポートというわけではないみたいだけれど。

マイコンピューターからちゃんとドライブとして認識されています。
/boot(:H) /(:I) /home(:J) こんな感じで表示されてました。
プロパティでも ext2 と認識されていました。(この辺りはご愛嬌ということで。)
んで、/home を開いてみた。ちゃんと表示されています。

せっかくなので
右クリックして新規作成でテキストファイルを作成。・・・成功。
エディタで文字を入力して保存。・・・成功。

正直、ちょっぴり感動しました。

で、ここで疑問が湧くのでした。
今、書き込んだけどLinuxから認識されなくなったってことはないよね?とか
ext2に変わっちゃったりしてないよね? とか。
確認の為、Linux起動してみました。ちゃんと認識してますし起動も大丈夫でした。
ファイルもちゃんとできてます。
んで、gpartedでファイルシステムのタイプを確認。 Ext3になってます。
というわけで、何事も無く快適になったのでした。

ちなみに、ドライバは入れたくないなという人には
Explorer2fsというソフトウェアもあるので使ってみては?

追記
Ext2 IFS for Windowsは何故かext3を認識しなくなりました。
ext2fsdのほうがいいかも。
使い方はインストールフォルダのmount.exeにコマンドライン(HDDの場所とドライブレター)で入力するだけ。
例えば、Linuxで言う所のhda2(Ext3)を(F:)にマウントさせたいと思ったら、
『mount.exe 0 2 f:』と入力するだけ。
mount.exeのショートカットを作ってプロパティからコマンドラインを追加したり、
automount.batとかそんな感じのバッチファイルを作ったりして
クリックするだけでマウントできるようにすると簡単かも。
バッチファイルにすれば3つとか一気にマウントできるよ。
書き方の例を挙げると、
automount.batに、
mount.exe 0 1 h:
mount.exe 0 2 i:
mount.exe 0 3 j:
とか書いて保存するだけ。拡張子の変更がわからない人は調べてね。
ドライブレターを既存の文字でやっちゃうと面倒なことになるので
オススメできません。その辺りだけは気をつけてね。多分再起動すれば直ると思うけど。
ちなみに、マウント解除は『mount /umount f:』ってやればOK。