ます’s Blog - どうでもいい記事100選

どうでもいい記事100選

patch

Fail-Safe C: 安全なC言語コンパイラ(続きの続きの続きの続き)

放置しまくりの件ですが。 Fail-Safe C version 1.5.0 (revision 1797)) がリリースされていたのでPHPのビルドに再び挑戦。 今回は5.2.10RC2と5.3.0RC3が対象。 今回からFail-Safe Cのビルドには ./configure が必要になっているようでした。その他、ビルド…

Fail-Safe C: 安全なC言語コンパイラ(続きの続きの続き)

先日の件ですが。 ずーっと放置していましたが、Fail-Safe C version 1.0.1 (revision 1735) がリリースされていたのでPHPのビルドに再挑戦。今回は5.2.6が対象。 「/(php-src)/main/streams/php_stream_filter_api.h」でenumリストの一番最後の定義が「,」…

「?:」演算子

shimookaさんのトコで「?:」演算子が意外と使えないという事が判明したので、ちょっとガッカリな気分です。 問題は二つあって、 error_reportingがユルい設定の時にしか使う機会が無さそう true or false判定が微妙すぎる 特に後者については、この演算子に…

Strict Session管理パッチ(4.4.9用)

コチラの最後の方に「セッション拡張モジュールに関しては変更が無かった」と書きましたが、超手抜きの実装です。(w 正式に4.4.9用がリリースされたので(一応)公開。大垣さんのサイトから直接DLできるように後で連絡しよっと。。。 4.4.9が中途半端な状…

Strict Session管理パッチ(4.4.8用)

以前、Strict Session管理パッチ(4.4.2用)を作成した事をコレを見て思い出しました。。。作業怠慢でゴメンナサイ。 PHP本体に付属しているセッション管理の拡張モジュールは使わない方針とはいえ、自分で使ってないのがバレバレです。(w 同期を図るべく…

Fail-Safe C: 安全なC言語コンパイラ(続きの続き)

昨日の件ですが、懲りずに再挑戦。 コンパイルオプションを最小限にしつつ色々と試した結果、「ext/standard/basic_functions.c」まで進行するようになりました。 後もう少しのように思えますが。。。段々と面倒臭くなってきたのでパッチも適当になってきた…

replace problem in mb_ereg(i)_replace

今まで放置していたのですが、ふと思い出したので。 mb_ereg(i)_replace関数で微妙な挙動に遭遇したのですが(皆さん)どうやって回避しているのだろうか。。。教えて欲しいっす!(>_ % cd /usr/local/src % gzip -dc ./php-4.4.8.tar.gz | gtar xf - % cd .…

file upload problem in mbstring(enable encoding_translation) (続き)

昨日の件ですが。 mbstringの微妙な挙動について(懲りずに)色々と調べていたのですが、ある時を境に急に出なくなりました。 特にファイルの修正はしてないのに。。。なんだか狐につままれたような気分。怪奇現象?こえぇ。 落ち着いて自分がやっていた作業…

file upload problem in mbstring(enable encoding_translation)

ちょっとした事でハマって色々と調べていたら、mbstringの微妙な挙動に出くわした。これは既知の問題なのだろうか。 草陰に隠れているヘビをつついてたら大蛇が出てきた。。。みたいな。忙しい時に限って悪条件が重なる。_| ̄|○ まず、自分がハマった件につ…

===演算子と!===演算子

PHPは0とfalseが同義でハマる事が多数だとか、これを回避する為に新しい演算子が出来たけどイケてない、とか思っている人は結構いるようですが。 だったら意味を逆にしちゃえばいいんじゃね、とか思ってみた。そんな訳で。 --- php-5.2.5,orig/Zend/zend_lan…

error: redefinition of typedef 'STATUS'

未だにstaticにビルドしようとしている自分もアレなんですが。 三者(自分・pecl_http・FreeTDS)含めて、どっちもどっち、という感じか。_| ̄|○ % cd /usr/local/src/php-4.4.8 % make gcc -Imain/ -I/usr/local/src/wk/php-4.4.8/main/ -DPHP_ATOM_INC -I…

print_r関数とvar_dump関数

デバッグ時にはprint_r関数とvar_dump関数を比較的よく利用していますが、そろそろ限界が近づいてきました。 コンソール上でCLI版PHPを使って確認する分には全然問題ないのですが、Web実行環境でこれらの関数を使う時に、わざわざ「<PRE>」タグとか入れるのが面倒</pre>…

mod_auth_mysql-2.20

レガシーな環境でハマったのでメモ。 全てはココ(1・2)に集約されていると言っても過言ではない。 「本来、PASSWORD() は MySQL ユーザのパスワード管理専用なので、アプリケーションでこれを実行すべきではありません。」って書いてあるじゃん。使った…

zend.ze1_compatibility_mode

・strrpos()とstrripos()は、needleとして文字列全体を使用するようになりました。 ・array_merge()は、配列のみを指定できるよう変更されました。配列以外の変数を指定した場合は、各パラメータ毎にE_WARNINGが発生します。あなたのコードで突然E_WARNINGが…

%{mod_php_memory_usage}n(補足)

先日の件ですが。 この時は少し熱くなりすぎていたようで、途中経過を全く書いていませんでした。これじゃ、何がなんだか。。。という感じですね。反省。 今更蒸し返すような話でもありませんが、一応履歴を晒しておきます(自分が忘れそうなダケだからメモ…

%{mod_php_memory_usage}n

使用最大メモリのログ出力の追加。--enable-memory-limitを使用し、Apache 1.xの設定ファイルのログ出力フォーマット命令(LogFormat)に "%{mod_php_memory_usage}n"を追加することでスクリプトが使用した 最大メモリサイズが分かるようになった。 (Thies) ど…

xdebug_get_code_coverage(その後)

先日の件ですが。 私は今、猛烈に憤慨している。。。抑えきれない程の怒りと憤りが体中を駆け巡っているぜ。。。! % less -N /path/to/crash.php 1

params

shimookaさんのトコで紹介があったので、少し試してみようかと思ったのですが。。。 % cd /usr/local/src % gzip -dc ./php-4.4.7.tar.gz | gtar xf - % cd ./php-4.4.7/ext % gzip -dc ../../params-1.0.tgz | gtar xf - % mv ./params-1.0 ./params % cd .…

mcryptで不正な長さのIVや鍵を渡した場合について(続き)

昨日の件ですが。ちょっとだけ深追い。しつこい。 shimookaさんが仰っている通り「イケてない実装」というのも確かにあるのですが、こうなっているからには理由があるハズ(理由も無しに実装するハズが無い)。。。と勝手に思い、背景を探るべく修正履歴を探…

limit nesting level of input variables(続き)

昨日の件ですが。 この件に関しては早めに対処した方が良いのかなぁ。。。とか思ってみたり。そうでもないのかしら。 とりあえず放流。っていうか、この程度のwarningは出さないようにして欲しいなぁ(main/php_variables.c:129: warning: int format, long …

postmaster.pid

最近、開発環境がすっ飛ぶ事が多くて困ってます。 復旧(OSを起動)させる度にpidファイルを消すのがうっとうしい。。。基本、ソースからインストール派。 最初は我慢していたのですが(段々と頻度が多くなってきたので)そろそろ本格的に対応を行おうかと。…

無理して出力しようとするのは良くないと思うアレコレ

以前、「未定義の定数の扱い」というエントリで気に入らない挙動を何とかしたのですが、その続き。 どういった挙動が気に入らないかは、最初の実行結果を確認して頂くという事で。 まずは、玉(アーカイブ)を展開してディレクトリを移動。その後、バイナリ…

define定義を無効にする(おまけ)

先日の件ですが。 define定義を無効にする方法を作成した事で定数の登録(INSERT)や削除(DELETE)ができるようになりました。 ここまでくると欲しくなるのは、やはり更新(UPDATE)。。。って、ここまで来ると定数の意味が薄れてくる気もしますが。 頭の良…

define定義を無効にする

C言語には「undef」という命令があって「define」した内容を無効にする事ができます。 PHPにも同じ名前で「define」が存在しますが「undef」に相当する命令が見当たりませんでした。 知っている方は是非とも教えて頂きたいと思います。これからやろうとして…

Automatic module globals management(続き−その2)

先日の件ですが、PHP_5_2 Branchにも適用された模様(1・2・3)。タイミングが。。。_| ̄|○ (案の定)大量のエラーが出まくってるので、修正しないといけません。