FreeBSD初心者運用日記 このページをアンテナに追加

2012-11-18

[]phpインストール 15:51 phpインストール - FreeBSD初心者運用日記 を含むブックマーク はてなブックマーク - phpインストール - FreeBSD初心者運用日記 phpインストール - FreeBSD初心者運用日記 のブックマークコメント

ひさしぶりにphpインストール。手順を備忘録として書いておく

1、まず、configureしてみたら、xml2-configが見つからないと出る。

Tokyo:~/php-5.2.17$ ./configure --prefix=/home/php --with-apxs=/home/apache/bin/apxs --with-mysql=/home/mysql --enable-mbstring  
〜省略〜
checking for xml2-config path... 
configure: error: xml2-config not found. Please check your libxml2 installation.

2、下記ページを参考に、libxml2-2.2.6.tar.gzを取得する

http://blog.goo.ne.jp/nhiro4/e/08f4fd3dfe82549865bd9d96ec744765

http://xmlsoft.org/downloads.html

3、lixml2のconfigureして、makeしたら以下のエラーでた。

Tokyo:~/libxml2-2.2.6$ make
./libxml/encoding.h:26:19: iconv.h: No such file or directory
In file included from ./libxml/xmlIO.h:15,
                 from ./libxml/parser.h:14,
                 from SAX.c:20:
./libxml/encoding.h:131: error: syntax error before "iconv_t"
*** Error code 1

Stop in /usr/home/mao/libxml2-2.2.6.
*** Error code 1

Stop in /usr/home/mao/libxml2-2.2.6.
*** Error code 1

Stop in /usr/home/mao/libxml2-2.2.6.

4、iconvをインストールしてみる

http://www.gnu.org/software/libiconv/#TOCdownloading

iconvは正常にインストールできたっぽいが、libxml2のmakeで同じエラーが出る。

4、あきらめて、portsからlibxml2を入れてみたら、phpまでインストールできた。

# cd /usr/ports/texproc/libxml2
# make install clean

2009-09-27

[][]apachephpのバージョンの相性 15:01 apacheとphpのバージョンの相性 - FreeBSD初心者運用日記 を含むブックマーク はてなブックマーク - apacheとphpのバージョンの相性 - FreeBSD初心者運用日記 apacheとphpのバージョンの相性 - FreeBSD初心者運用日記 のブックマークコメント

apache1.3.41とphp5.2.9の組み合わせだとapacheを起動することができなかった。

以下のエラーが出た。

Syntax error on line 232 of /opt/fruity/conf/httpd.conf: 
Cannot load /opt/fruity/modules/libphp5.so into  
server: /opt/fruity/modules/libphp5.so: undefined symbol:  
sqlite3SelectDelete  

php5.1.6だとうまくいった。

2009-08-26

[][]phpをインストール 06:43 phpをインストール - FreeBSD初心者運用日記 を含むブックマーク はてなブックマーク - phpをインストール - FreeBSD初心者運用日記 phpをインストール - FreeBSD初心者運用日記 のブックマークコメント

  • configure
$ ./configure --prefix=/home/php --with-apxs=/home/apache/bin/apxs --with-mysql=/home/mysql --enable-mbstring --without-iconv --disable-xml --disable-libxml --disable-dom --disable-simplexml --disable-xmlreader --disable-xmlwriter --without-pear

2009-02-28

[]書き込み用のファイルそのものをロックする場合、fopenのwモードで開いてはいけない 22:02 書き込み用のファイルそのものをロックする場合、fopenのwモードで開いてはいけない - FreeBSD初心者運用日記 を含むブックマーク はてなブックマーク - 書き込み用のファイルそのものをロックする場合、fopenのwモードで開いてはいけない - FreeBSD初心者運用日記 書き込み用のファイルそのものをロックする場合、fopenのwモードで開いてはいけない - FreeBSD初心者運用日記 のブックマークコメント

fopenをwモードで開くと、ファイルが初期化されて0バイトになる。

この後にflockをしても遅い。

(ロック専用のロックファイルをfopenのwモードで開くのは問題ない。)

[]編集したファイルをfcloseする前にどこかのサーバに転送したい場合 21:57 編集したファイルをfcloseする前にどこかのサーバに転送したい場合 - FreeBSD初心者運用日記 を含むブックマーク はてなブックマーク - 編集したファイルをfcloseする前にどこかのサーバに転送したい場合 - FreeBSD初心者運用日記 編集したファイルをfcloseする前にどこかのサーバに転送したい場合 - FreeBSD初心者運用日記 のブックマークコメント

fcloseする前に、編集したファイルをリモートサーバに転送したい場合は、転送する前にfflushを実行し、出力バッファをフラッシュしておく必要がある。

2009-02-22

[][]flockでロックを解除してはいけない 02:43 flockでロックを解除してはいけない - FreeBSD初心者運用日記 を含むブックマーク はてなブックマーク - flockでロックを解除してはいけない - FreeBSD初心者運用日記 flockでロックを解除してはいけない - FreeBSD初心者運用日記 のブックマークコメント

出力バッファの内容が書き込まれるのは、ファイルをfcloseした段階である。

この前に、flockでロックを解除してしまうと、ロックを解除してからファイルをクローズするまでの間に他のプロセスが同じファイルを書き込みする可能性があるため、ロックの意味がなくなってしまう。

どうしても、flockでロックを解除したい場合は、flockの直前にfflushを実行し、出力バッファをフラッシュする必要がある。

※ fcloseすると自動的にロックも解除される。