2012-01-08
phpdocumentor
phpのphpdocumentorを使用
手順:
pear install --alldeps phpdocumentor
2、phpdoc --helpで確認する
3、さて、作成する
# phpdoc -t ./doc -d ./src -o HTML:Smarty:PHP
src以下のphpファイルを解析して、doc以下にドキュメントを出力します。
文字化け対策
インストールしたフォルダ
([pear install directory]/data/PhpDocumentor/phpDocumentor/Converters/HTML/)
下templatesの中の*.tplファイルを変更する。
変更する対象は-oオプションで指定したフォーマットに合わします。
- o HTML:frames:earthliならHTML/frames/templates/earthli/templates下のtplファイルの中の「iso-8859-1」を「EUC-JP」、「Shift_JIS」、「UTF-8」のどれかに一括置換するだけで済みます。
オプション-o HTML:frames:earthliを使う場合は下の四つを変更すれば済むはず。
------------
index.tpl
header.tpl
top_frame.tpl
blank.tpl
------------
参照はここ
2012-01-06
Netbenasでxdebug
(済ませているかどうかはphpinfoで確認する)
2、ロカールからサーバへ80番までいってサーバからローカル9000番に帰ってくるというながれです。
(なんで、もしつながらなかったら、サーバやローカルのファイアウォールの拒否を心がけてな、困ったらtelnetやnetstatで確認しや)
※、ローカル側のJava(TM)Platform SE binaryの受信許可も必要となる
3、IDEのプロジェクト→プロパティ→Webルートをちゃんと設定した上で、実行構成のURLや開始ファイルをアクセスできるように調整する。
(じゃないと、ブレイクポイントの情報だけ抜けてしまい、止まっているようにみえるけど、どこでともっているのはわからんくなっちゃうぞー)
2012-01-01
vc6かvc9
vc6とvc9どっちを使うべき
Which version do I choose?
・If you are using PHP with Apache 1 or Apache2 from apache.org you need to use the VC6 versions of PHP
・If you are using PHP with IIS you should use the VC9 versions of PHP
・VC6 Versions are compiled with the legacy Visual Studio 6 compiler
・VC9 Versions are compiled with the Visual Studio 2008 compiler and have improvements in performance and stability. The VC9 versions require you to have the Microsoft 2008 C++ Runtime (x86) or the Microsoft 2008 C++ Runtime (x64) installed
・Do NOT use VC9 version with apache.org binaries
・VC9 versions of Apache can be fetched at Apache Lounge. We use their binaries to build the Apache SAPIs.
ApacheでPHPを使用するならVC6を使い、IISでPHPを使用するならVC9を使うと記載されています。
なので、Apacheで使用するのを前提としていましたら、VC6版を使用したいところですがPHP5.3.8にはVC6版が用意されていません。実際に試してみたところ apache.org で提供されているApache2上で問題無く動作しているように見えましたが、先程の注意書きの最後に記載されている通り Apache Lounge で用意されているVC9版のApacheを使った方が宜しいかと思います。(具体的な手順は「Apacheインストール」をご参照下さい)。
なおスレッドセーフ版とノンスレッドセーフ版がありますがスレッドセーフ版(
「VC9 x86 Thread Safe」)を使用します。どちらを使用すればいいのかは正確にお伝えする知識がないため検索などをしてご判断下さい。
----------------------------------------------------------
※Non-thread-safeかThread-safeかは、PHPのフォルダにphp5.dllかphp5ts.dllのどちらがあるかで判断できる。
php5.dllがある場合、Non-thread-safe
php5ts.dllがある場合、Thread-safe
なので、php_memcache-2.2.6-5.3-nts-vc9-x86みたいにXX-nts-XXというのはNon-thread-safeのことです。DLしたモジュールの使用に注意してね。
※VC9バージョンかVC6バージョンかは、%PHP_HOME%\snapshot.txtに、「msvcr90.dll」という文字列が含まれるかどうかで判断できる。
msvcr90.dllが含まれる場合、VC9
msvcr90.dllが含まれない場合、VC6
2011-12-21
コマンドldd使うときno version information available
例:
ldd modules/swfed.so
エラー:
modules/swfed.so: /usr/local/lib/libpng12.so.0: no version information available (required by modules/swfed.so)
原因:
/usr/local/lib/libpng12.so.0
が古いバージョンにシンボリックされていた、
つまり新しいバージョンば存在しているので、 新しくコンパイルしたバージョンにシンボリックリンクをきりなおしたらOK!
SwfEditorのインストール&動作
1、サイトからswfedのバイナリデータをDL
3、cd swfed-0.xx/src
4、phpize
5、./configure
6、make
7、順調だったら、swfed-0.xx/src/moduleにswfed.soが作られます。
8、cp module/swfed.so <php_ext_dir>
9、php.iniにextension = swfed.soを追加してapacheを再起動する
xampp for linuxからphp込のパッケージ版をインストールした場合
にxampp for linuxをインストールしたことを前提として話しましょう
2、tar xzf xampp-linux-1.X.X.tar.gz -C /opt
フォルダ/opt/lamppが作られます
3、同上
4、/opt/lampp/bin/phpize
5、./configure --with-php-config=/opt/lampp/bin/php-config --with-png-dir=/opt/lampp --with-zlib-dir=/opt/lampp/ --with-gif-dir=/opt/lampp(ここに、ライブラリの場所を明示に書く、通常ではないから)
6、make...以後は上と同じ
※swfeditorを正常に動作するためにライブラリzlib、ligpng、giflib三つが必要です。(ちなみに、ライブラリなくてもビルドは通ります、ただ該当機能はdisableになっている)
CentOSがインストール時にzlibやlibpngなども開発パッケージとしてインストールされたことが多いので、locate libpngなどで確認しましょう。通常パスは/usr/lib/libpng.so
なので、システムのlibpngなどを使う場合は./confgure時に--with-png-dirを指定しなくてもOK
もし、システム側にlibpngがなければ、xampp for linuxのdevel版をインストールし --with-png-dir=/opt/lamppでライブラリのパスを指定するかyumでlibpng-devel、zlib-devel、giflib-develをインストールする。
できたswfed.soに関してましてはうまく動作しないときにlddコマンドでファイルの依存関係を調べよう!!
システム側のライブラリでビルドしたswfed.soの依存情報(動作確認済)
ldd modules/swfed.so
linux-gate.so.1 => (0x00e4b000)
libgif.so.4 => /usr/local/lib/libgif.so.4 (0x00110000)
libpng12.so.0 => /usr/lib/libpng12.so.0 (0x0011a000)
libz.so.1 => /lib/libz.so.1 (0x00697000)
libc.so.6 => /lib/libc.so.6 (0x0013d000)
libm.so.6 => /lib/libm.so.6 (0x00296000)
/lib/ld-linux.so.2 (0x008a8000)
※※swfediotrが動作するときに/tmpに臨時ファイルを作ったりしますので、場合に応じて手動で消す必要がございます。
(キャッシュ見たいなもんなんで、消さないとコードを編集しても実行結果には何も変わりませんwwww結構はまったー!><)