2007/08/06 (月)

2007-08-06:PHP:PDF_setcolor()

お客さんのところでサーバ切替にともなうシステム移行があったんだけど、そこでの PDF を作成するところでエラーがひとつ発生。
なにかと思ったら、文字色を指定する関数の色指定が、むかし RGB だったのが CMYK に変わってるのね。いつからだろ。

単純に赤い色を (1,0,0) で指定していただけなので、(0,1,1,0) に指定しなおして終わり。
黒は (0,0,0) が (0,0,0,1) になる。
微妙な色使いをしたい場合は RGB->CMYK の変換プログラムをちゃちゃっと書くべきなんだろうな。

comment

2007/08/01 (水)

2007-08-01:PHP 4.4.7 on IIS6 in Windows2003server(続き)

7月5日の日記の続き、というか補遺。

php.ini の変更は IIS を再起動しただけでは適用されない。
コマンドプロンプトで

net stop w3svc
net start w3svc

とするといい感じ。

ファイルの存在確認。

[管理ツール]→[IISマネージャ]で「Webサイト」→「既存の Web サイト」をだして、右クリックメニューのプロパティを選択し、ホームディレクトリタブの構成を選んで、マッピングタブの追加で、”.php” に対して “C:\php\php4isapi.dll” を設定。

というのまでは前回のエントリで書いた。これに加えてもうひとつ。
「 [ ] ファイルの存在を確認する」にチェックを *入れてはならない*。ここがチェックされていると 404 エラーをくらうようだ。

OS の問題なのかわからないが、世間には逆の情報もでまわっているので要注意!

仮想ディレクトリ名。
IIS マネージャで、既存の Web サイトで仮想ディレクトリを追加する場合、
仮想ディレクトリと実体のディレクトリ名を同一にする必要がありそう。
これはきちんとした情報みつけられていないのだけど、手元で試した限りはそうだった。

で、筆者は「これらの情報を手に入れるためにはどうしたらいいのか」の情報を求めています。^^;
やはりなれない環境はつらいわ。

comment

2007/07/05 (木)

2007-07-05:PHP 4.4.7 on IIS6 in Windows2003server

www.php.net から 4.4.7 をもらってきて、C:\php 以下に展開。
sapi フォルダ、dlls フォルダの中身を C:\php 直下に移動しておく。
[管理ツール]→[システム]→[環境変数]で PATH に “;C:\php” を追加。
C:\php\php.ini-recommend を編集して C:\WINDOWS 以下にコピー。

[管理ツール]→[IISマネージャ]で「Webサイト」→「既存の Web サイト」をだして、右クリックメニューのプロパティを選択。
ホームディレクトリタブの構成を選び、マッピングタブの追加で、”.php” に対して “C:\php\php4isapi.dll” を設定。
「既存の Web サイト」のとなりの「Web サービスの拡張」でも同様に設定。

で、再起動。

マニュアルとか巷のサイトを見るに、これで大丈夫らしいんだけど。。。401 喰らうよ!

アクセス制御関係だよなぁ。
DocumentRoot の C:\Inetpub\wwwroot や C:\php が IUSR_{machine名} 権限で読み込みも読み込み実行もできることを繰り返し確認(というか、めんどくさいからフルコントロール)。
なんども確認して唸ること1時間強。

ふと、各フォルダに IIS_WPG にも権限を与えてみた。

ようやく動いた!

これまで apache の上でばかり生活していたので、シンプルな権限管理しかカラダが知らず、FileSystem に紐づけられた権限管理というのがどうもしっくりきません。
そして、うまく行かないときに、どこに情報が出るのかがわかってない。
慣れない環境はむずかしいです。。。

# そもそも匿名アクセスという概念を理解するのに無駄に時間がかかった。
# これは自分のアタマが腐ってるのが悪いな。しょぼん。

comment

2004/01/13 (火)

2004-01-13:PHP on IIS on Windows2000server

Windows2000server に PHP-4.3.4 on IIS な環境を作る。
CLI版を動かそうとして、include_path が指定できなくて困る。C:WINNTphp.ini での include_path を読んでくれていない風。
うーん。。。

apache/IIS + PHP on Win XP Pro SP1 [2nd]

comment

2004/01/12 (月)

2004-01-12:PHP on Windows ページアップデート

misc の Windows 版での PHP のページ、それなりに参照されているんだけど、情報が古くなってしまっていて、近所からも書き直せと苦情が来たのでいったん環境をキレイにしてはじめからセットアップしなおしてみる。。。。。不具合を見つけてしまった。:-)

Fatal error: Call to undefined function: phpinfo() in ...

phpinfo() が定義されていないって。。。
マルチバイト版をビルドして配布されている廣川さんにメールを送ったら、すぐに返事が来て、数通のやりとりのうちに不具合は解決。
すばやい対応ありがとうございます。> 廣川さん
というわけで 改訂版 を出したので見てね。

上記とはまったく別で、Web ページのサムネイルを作成する話題。
http://www.hirax.net/diaryweb/?20040104#200401041
サーバサイドでやろうとするとちょっと面倒な作業だよね。
IE とか mozilla とかのレンダリングエンジンを頼る実装が世の中にいくつかあるのか。

apache/IIS + PHP on Win XP Pro SP1 [2nd]

comment

2003/09/06 (土)

2003-09-06:apache/IIS + PHP + PDFlib on Win XP Pro

先日のまとめページに、IIS 版を追記。
さらに慣れない環境で苦労。。。
apache/IIS + PHP + PDFlib on Win XP Pro

comment

2003/09/03 (水)

2003-09-03:apache + PHP + PDFlib on Win XP Pro

やんごとなき理由で Windows 環境で apache を動かし、そこで PHP 使って PDFlib で PDF ファイル作りたい、ということで環境を作ってみた。
長いんで別ページにまとめてます。
apache + PHP + PDFlib on Win XP Pro

comment

2002/12/06 (金)

2002-12-06:php からメールがうまく送れない

vine 2.6 なマシンで php のスクリプトからメールが送れていない。
が、php-4.3 の mb_send_mail が悪いのか、MTA(postfix) の設定が悪いのか不明。
まぁ、実機が OpenBSD 3.1(php-4.2.2/qmail) と debian woody(php-4.2.2/postfix) で、それぞれちゃんと動いている風なので、あまり深くは追っていない。

comment

2002/11/18 (月)

2002-11-18:PHP 4.3.0RC1 を試す

PHP-4.3.0RC1 が http://qa.php.net/ にでたので、手元の Fiva(vine linux 2.6) に入れてみた。とりあえずいままでのスクリプトは動いている感じ。塚田さんの namazu モジュールもコンパイルはできた(namazu の動作は試していない)。
pg_convert はうまくエラーハンドリングとあわせると便利かな。いまのうちにいろいろ試しておこう。

tar xzf php-4.3.0RC1.tar.gz
cd php-4.3.0RC1/
cd ext/tar xzf php4_namazu-2.1.0.tar.gz
cd ../
rm configure
./buildconf
./configure --with-apxs=/usr/local/apache/bin/apxs  --without-mysql --with-pgsql --enable-calendar  --enable-mbstring --enable-zend-multibyte  --enable-mbregex --with-namazu=/usr
make
sudo make install
sudo cp php.ini-recommended /usr/local/lib/php.ini
sudo /usr/local/apache/apachctl graceful
comment

2002/03/10 (日)

2002-03-10:SNLUG の勉強会登録ページ

SNLUG の勉強会登録ページがうまく動いていないと指摘を受ける。
昨日の php-4.1.2 化の作業の際に、/usr/local/lib/php.ini でregistar_grobals Off にしていたが、SNLUG のページがこれに対応していないことを忘れていた。そもそも php3 なコードだし。
とりあえず緊急避難措置として .htaccess にphp_flag register_globals On と書いておく。

comment

2002/01/21 (月)

2002-01-21:PHP 4.1.1 へのアップグレードに苦労

prius (OpenBSD な web server) の PHP を 4.0.6 から 4.1.1 に上げる作業をした。ついでに apache も 1.3.22 にする。
手元のノートマシン (Linux) と自宅の joseph (Linux な web server) での作業実績があるので、大した覚悟をせずに作業をはじめたが、甘かった。
まず apache を –enable-modules=so として DSO版でインストール。これはすんなり。
問題は PHP。make の途中で次のような Warning が出る。

*** Warning: inter-library dependencies are not known to be supported.*** All declared inter-library dependencies are being dropped.*** The inter-library dependencies that have been dropped here will be*** automatically added whenever a program is linked with this library*** or is declared to -dlopen it.

が、Warning なので make は終わる。
make install もエラーなく終わり、httpd.conf をいじって、apachectl restart すると、問題なく再起動はする。
しかし今まで動いていた .php ファイルはエラーが出てだめ。
ためしに <? phpinfo(); ?> とだけ書いた .php ファイルを作って見てみると、途中までは表示されるものの尻切れトンボ。
いろいろ web を漁ってみると、どうやら既知のバグらしく、しばらく、というかかなりのたうちまわった後、DSO版を諦めて PHP を apache に static に組み込んだら、今度は問題なく動いた。
結局この作業に3時間くらい費やしてしまった。。。

Warning は出ているものの、make 自体は終わるので、これの重要さになかなか気づかなかったのが敗因。やれやれだぜ。

comment

2001/12/11 (火)

2001-12-11:PHP 4.1.0

PHP 4.1.0 がリリースされていたらしい。 が、入れる暇がなかった。4.0.x は PostgreSQL をクラッシュさせるバグがあるのでさっさと入れ直したいんだけど。。。

comment