LOVE THE LIFE

20080131

さかのぼって書かないとうまく動かないシステム故...(何。とりあえず年明けたので今年もよろしく。今年はすたしゅが10年なのでまぁゆっくり(のたりくたり)続けていきまする。

CakePHPで何かと自分的にはまって解決したものをちょいメモ程度で書いておく。便利だけどまだ移行して日が浅いので慣れない事もあるねぇ...

ADODBを使っているとAjax内でのPEAR::Pagerにてデータを表示してくれなくなる件

これにはびっくりした。使用するDBがschemaの指定ができないPostgresql7.2以下の場合ADODBを使用したらすんなりcakeは動いてくれるので様子見でADODBを使っていたんだけど、Ajax内でPEARのPagerを使用するとデータを表示してくれなくなる。いみわかんねー。まぁ今回使用しているDBはPostgresql8系なのでデータベースの指定自体をPostgresqlに変更したらちゃんと表示してくれた。なぜ表示してくれないのか深く考えなかったので知っている人いたら教えて下さい。

で、データベースをPostgresqlに変えたら連続でデータをINSERTしてくれなくなる件

これはFAQぽい。2件目以降がUPDATEになってしまうのでmodelのcreateメソッドを呼び出すかidにNULLを設定するかで解決する。

$this->Model->save($d);
$this->Model->create();

とか

$this->Model->save($d);
$this->Model->id = null;

でもADODBならこれらの処理は必要なし。

テーブルの設計なり変更したらcacheを削除する

これにも、はまった。全然データが反映されないし更新されないので調べたらmodelsのcacheを削除すればよいという事らしい。

[ROOT]/app/tmp/cache/models

POSTED AT 12:39:51 IN PHP | COMMENT : 0 | TRACKBACK : 0

20070905

いままでやったことがなかったのでメモっとく。AJAXのような処理で出力したページでPagerで作ったそれぞれのページのリンク先がsendRequest()でリクエストしたURLになっているのでページをくってもきちんと表示されないのは、わかってはいたがどんな方法で回避したらよいかググってみた。

PEAR::Pager tutorialsというサイトにて詳しい説明がありました。ゎーぃ。でも使う前に、PEARのHTML_AJAXを鯖にインストールしておきませう。これで、こちらに紹介されているcodeをsampleに使ってみると動きます。私なんかIDの名前1字たいぽしてたおかげでgetElementById()でIDが取得でけないとかで動いてくれなくて2時間ほど唸らせてもらいました...orz。

うちは、データベースの検索クエリを使ったのでちょっと面倒にデータ取得の書き方をしてしまった。検索条件が元々の呼びだしているページからなのでいちいちリクエストするURLにGETで値を送っていたりする。なんか他にいい方法ないかなぁ?

ちなみにわかりにくいところをメモっとく。

(元々のHTML等)
<html>
<body>
<script type="text/javascript" src="server.php?client=all"></script>
 server.phpは一番下に書かれていた3行のcode↑
<div id="XXXX">ここでa.phpの内容を表示させる</div>
<script type="text/javascript">
  HTML_AJAX.replace('XXXX', 'a.php');
          ↑はID ↑リクエストするページ
</script>
</body>
</html>

でもってリクエストされたページには

(a.php)
<?php
$pager_params = array(
  'append' => false,
  'path' => '',
  'fileName' => 'javascript:HTML_AJAX.replace('XXXX','a.php?pageID=%d');'  
  ↑この行に書き換えるID名とリクエストしたURLとPagerID を設定
 [snip..]
);

と修正して終わり。

POSTED AT 09:57:30 IN PHP | COMMENT : 0 | TRACKBACK : 0

20070626

PHPて訳でもないんだけど。おいら普段からはてブとか使用してないので流行がわかんなくてすみまそん。たまたま、すたぽん(誰)の記事をgihyo.jpで読んでた時に気付いて辿り着いたページが

どうしてプログラマに・・・プログラムが書けないのか?

1から100までの数をプリントするプログラムを書け。ただし3の倍数のときは数の代わりに「Fizz」と、5の倍数のときは「Buzz」とプリントし、3と5両方の倍数の場合には「FizzBuzz」とプリントすること。

まぁ、こういうのは昔からイヤって程上司や先輩から出されてきたので慣れた感じでこんな感じでどうだろうで、ちゃちゃと組んで段々ライン数を減らしてこれでもかというのを考えるのが楽しいわけで。

気付けば自分がやってたのでこれじゃぁダメだろうと先日入ってきた新人にやらせてみた。得意な言語というのは無いに等しいので考え方としてフローなりで示せと10分の時間を与えてやらせてみた。20分ほどして出来たというので見せてもらったが、3の倍数なり5の倍数の求め方がわからなかったようだった。「3の倍数」ってどう求めるの?って聞いたんだけどうーんうーん唸ってた。どうにも余剰が0という考え方が思いつかなかったようだ。

なるほど。「プログラム書けます!」で意気込んで入社してきたうちの新人クンもこのパターンだったわけだ。わはは。

新人が書ける書けないということより、このネタを元にいろんな人にコード書いてもらったり、お互いの意見交換したり、自分自身でどんなにしたらもっとスマートなコード書けるんだろうと考えてみたりそうすることの方が「プログラマ」として楽しぃーじゃん!と思ったのでした。

ちなみに、冒頭にでてきたすたぽん(誰)の記事はこちらです。

データベースと秋の空・RDBMS掌握術!第4回RDBMSマジック、インデックス(2)

POSTED AT 01:07:40 IN PHP | COMMENT : 0 | TRACKBACK : 0

20060820

2年ぶりに行ってきたり。今回は、知っている方々が前に出てお話をされていたのでギャラリー側のおれは寂しかったです(何。おれもしゃべれるようになりたいなぁと言う新たな目標もできました。

結構、仕事自体、売上重視でやらされているので現場でのPHPのバージョンとか開発姿勢であるとかオレ自身遅れているところもあり毎度感心して帰ってくるのです。特にPHP6やフレームワークの見直しへの感心は自分的に高まったかな。カンファレンス自体もいつも楽しみですがその後の懇親会ももっと楽しみにしていて今年もまたお話できてよかったと思う方がたくさんおられました。サイボウズラボの秋元さんとお話したときは緊張してたので自分で何いってるのかわかんなかったです(汗。すみませんでした。(ていうか覚えておられないと思うが...)

懇親会で青マンモス本をじゃんけんで勝ってゲットし、著者の廣川さん、桑村さんの両氏のサインをいれていただきました。赤マンモスには堀田さんのサインが入っているのでこれで私のマンモス本は超豪華になりました。

最後にびぎねっとの宮原さん、アリウープの柏岡さん本当にいろいろとありがとうございました。

POSTED AT 22:35:34 IN PHP | COMMENT : 2 | TRACKBACK : 0

20060615

Mojaviにて。入力項目をValidateかけたとき必須項目とそうでない項目があるんだけどそこで困ったことが。何度やってもhandleErrorを通ってしまう。考えても考えても全て項目を分けて

必須項目の場合
$validatorManager->setRequired('name', TRUE, '名前を入力してください'); 
非必須項目の場合
$validatorManager->setRequired('hoge', FALSE);

という感じで全ての項目をどちらかにして書いていたのになぜかexecuteにいかない。4時間くらい悩んだあげく気付いたのが日付プルダウン。こやつらの名前をday[Year]、day[Month]というふうに設定してそれらには

$validatorManager->setRequired('day', FALSE);

てなふうにひとまとめにして設定していたのだった。 これがずっとエラーになっていたみたいでこれらをdayYearという感じで個別の名前にしてやって設定するとちゃんと処理ができたのだった。

つーかday[Year]みたいなのってどんな風に設定してやればよいのかしら??

POSTED AT 01:32:36 IN PHP | COMMENT : 0 | TRACKBACK : 0

20060613

便利なんだろうかと思いつつHTML_QuickFormを使ってごにょごにょ書いてるんだけど、なんか本当に便利な物なのかどうなのかわかんなくなってきた。使い慣れていないからかもしれないけど...

どういう風に便利なんだろうか...(むむ。Validateをだらだら変に書いてしまうのが無駄な時間を使っているような気がしてならん。

HTML_QuickFormって本当に便利やでって教えてください(誰となく

関係ないけどMojaviやめてEthnaかMapleに乗り換えてみようかと検討中。

POSTED AT 00:43:48 IN PHP | COMMENT : 2 | TRACKBACK : 0

20060602

テンプレートものって性格的に好きではなかったんだけど、食わず嫌いなのはいかがかと思い、先日からMojaviで簡単なものを作ってみた。元々OOPとかも苦手な人なのでふにゃらふにゃらと作ってたり。

やってみて思ったことがやはりたったひとりでいることがダメなような気もする。成長もしないし勉強しても発展することができないし。誰かと一緒に仕事がしたいなぁと思ってみたり。

もーちょっとがしがし使ってみることにしよう。

POSTED AT 00:14:15 IN PHP | COMMENT : 0 | TRACKBACK : 0

20060228

時間がなくて放置したまんまだったんだけど、手入れする必要がでてきたので4.4.2へ入れ換える。ついでにApache2.0.55も(遅すぎ。

make installをしたあといくつかPEARのところで「bad md5sum for file ...」といくつかインストールできなかったようなのでPEARだけ入れ直してみる。そしたら入れ直してる途中で

WARNING: channel "pear.php.net" has updated its protocols, use
"channel-update pear.php.net" to update

プロトコルのアップデートしろということなのかよくわかんねすがとりあえずぐぐって調べて解決。以下やってみろ。

$ pear channel-update pear.php.net
Retrieving channel.xml from remote server Update of Channel "pear.php.net" succeeded

なんか世の中に取り残された人のようでちとせつなかったですわ。

POSTED AT 18:13:09 IN PHP | COMMENT : 0 | TRACKBACK : 0

20051123

堀田さめのmixi日記で知ったのだが、こういうのは苦手なのでPHP仕事をしている割にいい点数なんぞ取れる訳と思って挑戦してみた。

問題はPHP Skills Testから

結果は以下...

You overestimated your skill to 157% of the real value , You are Nearly Competent and almost aware of it yourself
You scored 7 points from a minimum of 0 and a total of 12

やっぱり..(汗。ちょっと引っ掛けぽいのは苦手なんだよ〜

POSTED AT 15:47:59 IN PHP | COMMENT : 0 | TRACKBACK : 0

20050908

upload-photo

CheckBoxにチェックを入れた分のデータの格納方法。毎回毎回思考錯誤しながらやり方を変えてやっているのだけど、どういう方法で、格納するのが楽なのでしょうか?そしてそのデータを呼び出した時のCheckboxへの展開の方法(と言えばよいのかしら)の楽な方法を知りたい。いい方法があったら教えてくだしい。

なんか簡単なプログラムでも今までひとにきけないことってあるじゃん。なんか妙に気になって寝れん(w

今週の「蒼天航路」

先週に引き続き今週も休載だった...。ウワーん。てか、「関さんがプロットを潰しにかかってる」ってコミックス巻末でゴンタ先生は書かれてましたが(w。気長に待つべし。だって関さんが討たれるところその瞬間をまだ迎えたくないね。

POSTED AT 00:37:28 IN PHP | COMMENT : 3 | TRACKBACK : 0

20050114

最後にWebUpdatesPingの送信だけの処理を残していたのでこちらも組み込んでみることにする。

参考にしたのはこちら。うちはPHP4.3系なのでpublicとかは削除。手軽な関数にも置き換えて手直してみた。

function sendPing($pingTargetURL){
    $parsed = parse_url($pingTargetURL);
    $client = new XML_RPC_Client($parsed['path'], $parsed['host'], 80);
    $this->response = $client->send($this->message);
...
}

Pingサーバはテキスト保存するなりDBにぶちこむなりで管理すると。

素敵なClassをありがとう〜

POSTED AT 03:13:51 IN PHP | COMMENT : 0 | TRACKBACK : 1

20040826

PHP-usersMLやmixiのPHPこみゅでも今少し話題にあがってる件です。

mixiにはわたしも投稿していますが、昨日IRCで話があがったので取り合えず家のサーバのほうのPHP-4.3.8を再度インストールしてみました。

自宅のサーバに入っているソースはEUCもしくはUTF-8で書かれているので(SJISは出力でも使っていない)--enable-zend-multibyteをとってmakeしてみる。あとはphp.iniの確認。

うちのmbstringのini設定はこんな感じ。

mbstring.language = Japanese
mbstring.internal_encoding = EUC-JP
mbstring.http_input = auto
mbstring.http_output = pass
mbstring.encoding_translation = Off
mbstring.detect_order = auto
mbstring.substitute_character = none;
mbstring.func_overload = 0

まさき先生これでよいですかねぇ?(笑

POSTED AT 16:14:32 IN PHP

20040821

実は初めてです。参加。

初めて参加したくせにちょこっとスタッフのお手伝いもさせていただきました。そうです。前で抽選箱持ってたの私です。で、クジひいてたのも私です。はずれた方ごめんなさい(謎

昨日はいろいろ自分でも初めてづくしで、なにしろ今まで外でネット繋いだことなかったのですが、%PHPなひとが来るのわかっていたのでノートPCを持って行って携帯でアクセスしました。

まぁ、通勤も車ですし必要ないんですね。普段。それに外でるときはそこまで必要でもないし。

横にすわっていたらむじぃが「大丈夫すか?パケ死しないでくださいよぅ」と言ってたけど、携帯でパケット通信するとそんなに高いのか..(さっき調べたけど昨日までのパケット通信費1200円くらいでした)

大変参考になるお話ばかりで、またやる気になりました(なんだそれ

懇親会も最後まで参加致しました。昨日に続きいろんな方とおしりあいになれたり認識しあったりで嬉しい&楽しかったです。スタッフの方もお疲れさまでした。来年もよろすこ。

POSTED AT 14:27:11 IN PHP | TRACKBACK : 0

20040818

久しぶりに訳わかんないエラーでまくり

Warning: Unexpected character in input: ' in 
/pub/virtual/xxxxx.co.jp/htdocs/common/inc/xxx.inc  on line 6

Parse error: parse error, unexpected T_VARIABLE in 
/pub/virtual/xxxxx.co.jp/htdocs/common/inc/yyy.inc on line 5

POSTED AT 14:27:11 IN PHP | TRACKBACK : 0

20040813

今日、会社のサーバのメンテナンスがあって、バージョンアップの検証ついでに自宅のサーバのPHPで使用しているGDライブラリもろもろもバージョンアップをしてみる。

今回はzlib・libpng・gdを新しくしPHPをもう一度再コンパイルしてみた。テストとして簡単なGDライブラリを使うプログラムを実行した。

以前の日記でmessagesでerrorを吐くと書いていたが、そのerrorが今回バージョンをあげてから出なくなった。GD自体のバージョンが悪かったのかな?

原因はまだ探っていません;D

POSTED AT 14:27:11 IN PHP | TRACKBACK : 0

20040725

入れてほぼ放置状態にしていたGDライブラリ。ちゃんと使えるかどうかテストついでに使ってみようってことでちょっとごにょごにょ書いてみた。

そこらへんに転がってるであろう画像サムネイル作成と作ったサムネイルに文字入れて画像作るとかいうもの。

ちゃんとでけるんだけど、messageログに変なログ残るなぁ。PHPのエラーじゃないんだよね。

exited on signal 11

このerrorってimapd動いてるときもでるんだけどなんだ?ハードの問題かしらん

POSTED AT 14:27:12 IN PHP | TRACKBACK : 0

20040417

PHP-4.3.6をいれとく(遅。どこがどーなったとかはmasaki神ところで見たほうがためになります。

そろそろがっちと濃いこーど書いてここをどうにかしたいものだ(どんなんやねん。コメント欄フカーツしようかどうしようか迷い中。どうしましょ...

POSTED AT 14:27:13 IN PHP | TRACKBACK : 0

20040403

Flash+PHP+PostgreSQLでやってみますた。作ってみましたよ!人間やればでけるもんです。1週間でマスターできるんだなぁ。Flashって。簡単じゃーん(とか言ってみるテスト

最初、ActionScriptとかワケわかんないのにしくはくしてますたが、慣れれば簡単でしたわん。

POSTED AT 14:27:13 IN PHP | TRACKBACK : 0

20040328

バーチャルサーバとか運用してると少し気になるのがPHP等のスクリプトからメールを配信したときReturn-Pathが使ってるメール鯖のもの(というのだろうか)になるんだけどそれを解決してみた。

ぐぐればゴロゴロでてきますが一応メモがわりに

$returnpath = '-f'.$returnpath_email;
mb_send_mail($to, $subject, $msg, $headers, $returnpath);

$returnpath_emailにはReturn-Pathに設定したいメアドをいれとけ。

POSTED AT 14:27:14 IN PHP | TRACKBACK : 0

20040327

PHP4.3.5りりーすですよ!早速インストールしましたよ!で、ウチ見たら文字化けしてますよ!どうゆーことですか!?

php.iniの設定まずったかなぁ?とか思いつつ先にmb_output_handlerとか記述してるところとっぱらってみる。でもまだなおらない。むむ。どこだどこだ。4.3.4の時と設定を変えていないんだけどなぁ。

で、よくよく考えたらうちの鯖ってわたしだけしかもう使ってないじゃん。で、output_bufferingをOffにしてもよいのに気づいて設定をやりなおしてみた。

output_buffering      = Off
;output_handler       =
mbstring.language = Japanese
mbstring.encoding_translation = Off
mbstring.http_input   = auto 
mbstring.http_output  = pass
mbstring.internal_encoding = EUC-JP    
mbstring.substitute_character = none
mbstring.detect_order = auto

これで直った直った。

文字化けちう見に来てくれたヒトどもすんまそん(ワラ

POSTED AT 14:27:14 IN PHP | TRACKBACK : 0

20031010

結局BinaryなJDKをいれてXalanもいれたんですが〜。

一応Xalanの設定も書いとくかな(つか再インストールしそうなので。xalan-jはportsでいれますた。あとはCLASSPATHの設定(.tcshrcにて)。

setenv JAVA_HOME /usr/local/diablo-jdk1.3.1
setenv JAVA_CLASS /usr/local/share/java/classes
setenv CLASSPATH .:$JAVA_HOME/src.jar:$JAVA_HOME/dt.jar:
$JAVA_CLASS/xalan.jar:$JAVA_CLASS/xml-apis.jar:
$JAVA_CLASS/xercesImpl.jar:$JAVA_CLASS/xmlParserAPIs.jar

がー。しかーしPHPにXSLT関数なんて見つけちゃったのでそちらを使ってみることに。

うちのPHPは以前に書いた通りあんまり標準なみな設定しか施していなかったのでDOMXML関数とXSLT関数を使えるようにしてみる。

Sablotronとlibxml-2.4.14をportsでいれる。再度PHP4.3.3インストールしてみる。

PHP4.3.3 gdとかDOM XMLとか使えますよセテーイ

./configure --enable-mbstring --enable-mbregex 
 --enable-zend-multibyte 
 --with-pgsql=/usr/local/pgsql 
 --with-apxs2=/usr/local/apache2/bin/apxs 
 --without-mysql 
 --enable-gd-native-ttf 
 --with-gd=/usr/local 
 --with-freetype-dir=/usr/local 
 --with-jpeg-dir=/usr/local 
 --with-zlib=/usr/local 
 --with-png-dir=/usr/local 
 --with-expat-dir=/usr/local 
 --with-dom 
 --with-xml 
 --enable-xslt 
 --with-xslt-sablot 
 --enable-iconv 
 --with-iconv-dir=/usr/local 
 --with-tsrm-pth

(なんだかますますよくわかんないぞ>XMLまわりの設定(^^;

取り合えず、ここの日記をDBから読んできてXML文書に吐き出すコードを書いてみる。domxml_open_file()で吐いたXMLファイルを見ると日本語が16進でエンティティ変換されてますよ?つかえねー(というかどこが悪いのだろう...。

うーん。とりあえずちゃんとしたutf-8で吐きたかったので姑息な手でXMLファイルの書きだしをしてみる。しかし、日記のテキストデータにHTMLタグがあるのでXSLを使ってHTMLに書き出す時ちゃんとこちらの意思通りにならない...(;_;)

もう自力学習だけではだめだ。なんか本でも買ってくるか...

POSTED AT 15:25:10 IN PHP | TRACKBACK : 0

20031008

先日(何時)、PHPでgdライブラリを使えるようにしたわけなんだけど。

イメージ関数あたりを使用するとmessageログにエラー吐くようになる。PHPあたりでparse errorになるわけでもなく実行するのに関わらず吐きまくり。

それを知らないでアホゲにPHPで作ったバナーをポチに与えていたのだ。その日のログがめちゃすごかったのでどうにもイメージ関数使うあたりにhttpdでエラー吐いていた。

php.iniでの設定なのかインストールがうまくいっていなかったのかただ今調べちう

POSTED AT 14:27:18 IN PHP | TRACKBACK : 0

20030929

GD2をインストールし、php-4.3.3を再度インストールしなおす。

つかGD2をソースから何度もいれてみたんだけどX11/xpm.cがないんじゃボケと何度も何度も言われたのでヘタレ気味でportsでまけまけいんすとーる。ヘタレ気味。あぁ。

最初からportsでいれとけスギ>GD2

gdを使うぞ./configure覚え書き

./configure --enable-mbstring 
  --enable-mbregex 
  --enable-zend-multibyte 
  --with-pgsql=/usr/local/pgsql 
  --with-apxs2=/usr/local/apache2/bin/apxs 
  --without-mysql 
  --enable-gd-native-ttf 
  --with-gd=/usr/local 
  --with-freetype-dir=/usr/local 
  --with-jpeg-dir=/usr/local 
  --with-zlib=/usr/local 
  --with-png-dir=/usr/local 
  --with-tsrm-pth

使えるようになったもよう(w

POSTED AT 15:25:51 IN PHP | TRACKBACK : 0

20030918

GDらいぶらりとかいれてみる。使ったことないんだよなぁと自分のさばにいれてみる

覚えとけ>わし

以下libpng-1.2.5をFreeBSDにインストールするとき

cd libpng-1.2.5
cp scripts/makefile.freebsd makefile

makefileファイルいじる (ここ重要)
INCDIR=/include/libpng → INCDIR=/include/libpng/

さらにmkdir /usr/local/include/libpngしとけスギ

でないとmake installでerrorでちゃうにょーん

昨日、某ISPがネットワーク障害(だったらしい)とかで仕事中に繋がらなくなって1時間なにも出来ずおよよおよよしてたわけですが。会社から外へ出られないのはともかくiDCに置いてる会社のさばにすら外から繋がらない状態だったらしい。

こうゆーこと日記に書くとそこのiDCのひとは「じゃぁやめりゃぁいいじゃん」といいそうなお天狗な某社なので...(以下省略

ようやく繋がってメールとかチェックしてたわけだけどその時IRC見たらそこの会社の人うちらのような客とかより早く繋がっていてチャットしてるじゃん...

多大なる迷惑かけといてちゃっとはないでしょー。意識なさすぎ。

まぁ今後もこうゆことありそげなのでもうひとつこんなISPはいってみますた。ウヒヒ

POSTED AT 15:26:19 IN PHP | TRACKBACK : 0

20030620

家のめいんさばに今日でたPHP-4.3.3RC1などいれておく。

そろそろ来週会社のさばの設定でもしないとなぁ...(いつから言ってるんだろ

POSTED AT 14:27:20 IN PHP | TRACKBACK : 0

20030529

php-4.3.2RELEASEされたので入れかえる。昨日Apache2やったのに...。続くなぁ思いつつ。藤本さんのページでNEWSの和訳があったのでちぇきちぇき。

来週にはFreeBSD5.1がRELEASEされるのかな?。ましんあけとこ。

  • 大胸筋エクササイズ 1セット朝10秒夜20秒を20セット
  • 両胸マッサージ(ボディシャンプー)
  • だん中と天がいと脳下垂体のツボ指圧

POSTED AT 10:44:29 IN PHP | TRACKBACK : 0

20030418

CLI版でphpを使いたいので会社のさばのphpを4.3.1にあげてみやうかなと思ったり。今は4.2.3-multibyteなんだけど4.3.x系がいろいろ面倒でなくていいかも。

perlで書いたぷろぐらむが意図した動作にならないのでphpで書いたほうが早いなとか思ったり。ぇぇ。ヘタレですにょ(泣。時間がないのがちょっと痛いかも。もう少しわしに時間くれたらちゃんと勉強してperlで書きますよ(とか言ってみる。

POSTED AT 14:27:23 IN PHP | TRACKBACK : 0

20030218

さっそくげとして朝から家のさばだけいれなおしとく。つか新しいの入れても最近勉強する時間が少なすぎるのがだめぽ。少しくらい進歩しないとなぁ...

POSTED AT 14:27:27 IN PHP | TRACKBACK : 0

20030102

1年のはじまりから一緒だと嬉しいし心強い。今年も仲良くしよーね。

引続き、家のさばのPHPの設定。オプション思いっきりまちがってますた。

PHP-4.3.0

./configure --enable-mbstring 
 --enable-mbregex 
 --enable-zend-multibyte 
 --with-pgsql=/usr/local/pgsql 
 --with-apxs2=/usr/local/apache2/bin/apxs 
 --without-mysql

以前までオプションでつけていた --enable-trans-sid と --enable-mbstr-enc-transは廃止されたのでこんな感じ。あと、うちはApache2.0.43を使っているのでApache1.3系の場合は--with-apxs=/usr/local/apache/bin/apxs に置き換えてみると。FreeBSDの場合は --with-tsrm-pthのオプションもつけとくっと。これでまけまけインストール。

php.ini の編集

output_buffering = On
output_handler = mb_output_handler
mbstring.language             = Japanese
mbstring.internal_encoding    = EUC_JP
mbstring.http_input           = auto
mbstring.http_output          = SJIS
mbstring.encoding_translation = On
mbstring.detect_order         = auto
mbstring.substitute_character = none
mbstring.script_encoding      = SJIS

これでいいと思われ。間違ってたら突っ込みよろすく

POSTED AT 15:27:04 IN PHP | TRACKBACK : 0

20021230

藤本さんのRelease Announcementの和訳を見つつインストールしてみたり。

怪しい。スクリプトと出力をShift_JIS、内部えんこーどはEUCで設定はしたもののHTMLがShift_JISだと日本語がばけやがる。あー面倒。これさえなければなぁと思いながら結局php.iniをEUCな設定にしといた。家のはEUCで全く問題ないけど会社はなぁと思いちょっと見送ってみた。まぁわしが設定しくってるだけかもしんないけど。藤本さん教えてください!(とか言ってみとく

PHPのマニュアルのmbstringあたりのページにも4.3以降のconfigureとかちょろっとあるし。

POSTED AT 14:27:29 IN PHP | TRACKBACK : 0

20021209

先日、FORMタグの中にaccept-charsetに指定した文字コードを書けばファイルのあぷろーどができたとか書きました。ええ。書きましたとも。今日、気が付いたのです。IEではaccept-charset対応してなさそげなことを...。MozillaやNetscape6以上ならaccept-charsetで指定した文字コードでDBに書き込んでくれるのですが、IEでPOSTすると、

Warning: PostgreSQL query failed: 
ERROR: Invalid EUC_JP character sequence found (xxxxxx)

... 忘れた

と抜かします。えーんえーん。Windowsなんか使わないから知らなかったよー。

結局POSTされたデータをencodingして解決したとさ...。多分、FORMタグにenctype="multipart/form-data"って書いたときだけだと思われ。

POSTED AT 18:43:53 IN PHP | TRACKBACK : 0

20021118

PHP4でのFORMタグにmultipart/form-dataって書くとtextたいぷのデータが文字化けする件に関して解決〜。FORMタグ内にaccept-charsetを書けばよかったのね。PHP4.1.2に戻さなくてよかった(そういう問題かっ。

POSTED AT 14:27:31 IN PHP | TRACKBACK : 0

20021106

国際化版PHP4を配布されてる藤本さんがIRC某ちゃんねるに!!。ぉぉ。それまで わし、寝転がってましたが起きて正座しますたですわよ!!結局なんか変に緊張して話せませんでした...(しくしく。PHPをもっと勉強せねば〜。

POSTED AT 14:27:31 IN PHP | TRACKBACK : 0

20021002

神さまにApache2.0.42 + PHP4.2.3で動かす方法を教えてもらった。週末にでも家のさーばのApacheを2.0.42にしてみやう。当分PHP4.3で幸せにはなれなさそーだ。昨日、PHPカンファレンス2002のレポートをどこかでみたような気がするんだけど、そこでPHP4.3から国際版使わなくてもよいとか書いてたので結構嬉しかったんですが〜。

とりあえず、4.2.3国際版でてほしーな。藤本さんに期待。

しくじりながらもう一度LinuxにApache2.0.42 + PHP4.2.3をインストール。以前の/usr/local/apache2を消してやる(ぉ。で、/usr/local/lib/phpも消した。php.iniも消した。神さまに教えていただいたphp-4.2.3/ext/mbstring/mbstring.cを差し替え。わし、1.99でやってました(スミマセン...。でこんぱいるしていんすとーる。 をー。Apache起動したしphpinfoも表示されました。

同じ手順でPHP4.3.0-devもインストールしてみたらうまくいったので週末は入れかえてみるべし。

POSTED AT 14:27:32 IN PHP | TRACKBACK : 0

20020930

apacheが起動しねぇ〜。ぐぉぉ。

つか

Installing PEAR environment:      /usr/local/lib/php/
[PEAR] Archive_Tar    - already installed: 0.9
[PEAR] Console_Getopt - already installed: 1.0
[PEAR] PEAR           - already installed: 0.91
[PEAR] DB: tgz :: could not get contents of package 
"/usr/home/coo/php4/pear/packages/DB-1.3.tar"
[PEAR] HTTP: tgz :: could not get contents of package 
"/usr/home/coo/php4/pear/packages/HTTP-1.2.tar"
[PEAR] Mail: tgz :: could not get contents of package 
"/usr/home/coo/php4/pear/packages/Mail-1.0.1.tar"
[PEAR] Net_SMTP: tgz :: could not get contents of package 
"/usr/home/coo/php4/pear/packages/Net_SMTP-1.0.tar"
[PEAR] Net_Socket: tgz :: could not get contents of package 
"/usr/home/coo/php4/pear/packages/Net_Socket-1.0.1.tar"
[PEAR] XML_Parser: tgz :: could not get contents of package 
"/usr/home/coo/php4/pear/packages/XML_Parser-1.0.tar"
[PEAR] XML_RPC: tgz :: could not get contents of package
 "/usr/home/coo/php4/pear/packages/XML_RPC-1.0.3.tar"

なななんか2週間前のPHP4.3.0-devのmake install中にこんなあったっけ?これらpackageの中がないと言われてるよーな気がする。中みたけど.phpなファイルだしなぁ。テンプレートかな?このへんて起動しないことに関係あるんだろうか。PHP4.3系についてあまり書かれてるサイトがないので展開ディレクトリのNEWSとか見たけど。PHP-devにないかなぁ。なんかヒントとか(わら

POSTED AT 14:27:32 IN PHP | TRACKBACK : 0

20020929

Apache2.0.42に入れかえようと思ったんだけどphpのもじゅーるがどーとか(なんだよそれは)のerrorがでたので(つかphp4/sapi/apache2filter/sapi_apache.cが古かった)php4.3.0-devをcvsから持って来る。

php4.3.0-devもついでに入れ直してapacheを起動してみたら

Invalid command 'Order', perhaps mis-spelled or defined
 by a module not included in the server configuration

て言われたし。configureをかえても同じかね?

POSTED AT 14:27:32 IN PHP | TRACKBACK : 0

20020908

PHP-4.2.3がりりーすされたので早速げとずさー。

apache2filterが使えるそーです。なので早速MacOSXとVineに入れてみる。

もともとLinuxにいれてたApache2.0.40のオプションを忘れたのでやり直し。ついでにMacOSXも同じオプションにすることにした。

Apache2.0.40

./configure --enable-modules=all --enable-so

PHP-4.2.3

MacOSXには4.2.2のpatchを流用して当てる。 あと「4バイト以下の配列の変数値が取れない」bugに関してはLinux、MacOSX共に[PHP-users:9898] の小泉さん版patchをmbstring.cに当てる。

./configure --enable-mbstring 
 --enable-mbregex 
 --enable-mbstr-enc-trans 
 --with-pgsql=/usr/local/pgsql 
 --with-apxs2=/usr/local/apache2/bin/apxs 
 --enable-trans-sid --without-mysql

まけまけいんすとーるを両方にする。どちらもインストールできたのでphp.iniもhttpd.confも同じように設定する。

# /usr/local/apache2/bin/apachectl start

するとLinuxのほうは起動しましたがーMacOSXでは

Syntax error on line 231 of /usr/local/apache2/conf/httpd.conf:
Cannot load /usr/local/apache2/modules/libphp4.so into server: link failed

で敢なくシパーイ...

/usr/local/apache2/modulesにlibphp4.soあるじゃんっ。なんやねんっ

PHP-usersのMLに投稿しようかな...

私信(遅

okdtことりょーたろさんへ

日記読んでたくせに意味わかんなくってすんごいもん受注したんだなぁとヴォケてました(ワラ。なんとなく聞いてたけど決まっておめでとうございます。末永くお幸せに☆

POSTED AT 15:29:05 IN PHP | TRACKBACK : 0

20020907

むむむ。

libtool1.4.2にpatchあててもう一度Apache2.0.40とPHP4.3-devを再インストール。Apache2.0.40は起動してくれるんだけどPHPがmakeでだめ。

ld: /Users/coo/Desktop/arc/httpd-2.0.40/ srclib/apr-util/xml/expat/lib/libexpat.la
 bad magic number (not a Mach-O file)

Mach-Oってなんだ?と調べる。MacOSXのCocoaななんとか(理解不能。これさえちゃんと意味わかってerrorがとれたらlibphp4.soができるようなんだけどあと一歩です。

でもMacOSX10.2でのApache2.0.40 + PHP4.3-devはわしは手詰りです。apache2filterでのerrorはないので多分LinuxとかFreeBSDあたりではうまく動くと思われ。多分MacOSXではlibtoolのこのあたり?...(英語doc読みましょう わし。

POSTED AT 14:27:33 IN PHP | TRACKBACK : 0

20020906

昨日から熱37.5度ほど。自律神経失調症になりかけ。元気に出社してますYO!!

再び、MacOSX10.2でのApache2.0.40 + PHP4.2系以上(あたり)の構築を試みる。

まず、藤本さん版PHP4.2.2にこのあたりで落ちているMacOSX用のpatchを当てる。ここでzend_language_scanner.cにだけpatchが当たらないので自分で修正。

./confgureにはいつものパターンに加えzend-multibyteをenableにする。makeすると早々にzend_multibyte.cでコケタ。

うーん。だめぽ(ワラ。で、通常版のPHP4.2.2にpatchを当てて./configureしてmake。apache2filterあたりだと思うんだけどsapi_apache2.c:534 とsapi_apache2.c:535でこけた。また だめぽ。Apache1.3系ですればいいじゃん!と思うでしょうが、ゆくゆくはApache2系になるんだからと頑張ってみる。

OMYU> CVSのやつと比べて NULL入れれば動くっすよ

と教えていただいたのだがどこにNULLいれればいんすか?(ぉぃ

その後、CVSで取ってきたPHPがlibtoolが新しいはずなのに./buildconfできないとか言ってたらわしの.tcshrcの書き方が悪かったので基礎(ワラ)を支障とおみゅさんに教えていただく。すんません...m(__)m

夜3時頃CVSでUPDATE中だったらしく繋がらなくなったのでそのままだうん。

週末またがんばってみよーかな

POSTED AT 16:13:53 IN PHP

20020901

頭痛がひどいためほぼ一日寝てた。吐き気はするしトイレにしばらくこもってみたけど吐けねー。ますます気分わりー。

そーいや新しいテレビ来たよ。29inchってでかいね。つか前のテレビが小さすぎだっちゅーの。

昨夜寝る前にPHP4.3-devげとずさーして起きてからMacOSXで./buildconfやってみたけどやっぱlibtoolが古いとかないとかで終るんでつが...。つかlibtool1.4.2入ってるんだけど。他に原因があるんだろうか。つい1週間前にcvsでげとしたPHP4.2.3RC1は./buildconfで文句言われないんだけどどう違うのでしょうか。

PostgreSQL7.2.2でてたのに気付いてなかった...。Macに7.2.1いれたばっかなのに(しくしく

POSTED AT 14:27:33 IN PHP | TRACKBACK : 0

20020822

先日から会社サーバのPHP4.2.2をもう一度インストールしなおす。なにげにエンコーディングがおかしいような気がしたので(気のせいかもしれんが。

藤本さんpatchをあててapache再起動。自分のコードがおかしーのかPHPのbugなのかわからん...どこがおかしーとか、日記にかけねー(恥。

とりあえずPHP4.2.3リリースきぼんぬ(ぉぃ。

12日ごろmakeでerrorでてからほったらかしだった家さばのbuildworldしなおそー。

POSTED AT 14:27:33 IN PHP | TRACKBACK : 0

20020723

そろそろportsでphp4.2.2対応されたカナと思いportsを新しくしてみた。つか、会社さーばは昨夜はやばやとそーすでいれたんだけど家のさーばが残ってた...。家のほうのPHPはportsでずっといれてたので。

いつものよーに makeってやったら

apache2 module.

>> php-4.2.2.tar.bz2 doesn't seem to exist in /usr/ports/distfiles/.
>> Attempting to fetch from http://us.php.net/distributions/.
Receiving php-4.2.2.tar.bz2 (2717528 bytes):...

さすが対応早いなぁ。4.2.2になってるにょ〜。...なぬ。なぬなぬ?WITH_APACHE2ってどーゆーことヨ?

うちのheavenはまだ1.3系だっちゅーのーっ!!で中断(コラ。

PHP4.2系ってまだApache2系ではマルチバイト関係うまくいってなかったんじゃないのかなぁ...。つかportsでいれちゃうともうApache1.3系に組み込まないんですかねぇ。むむ。最初からソースでいれればよかったなぁ...しくしく。

明日朝から手術だにゅ。って言っても指の手術なんだけどね。

あお曰く「カタギになれよ」やかましぃわ(ワラ

POSTED AT 14:27:34 IN PHP | TRACKBACK : 0

20020722

家のさーばFreeBSDのCVSupでもしようかなと思いつつだらだら/usr/src/UPDATEとか見てたりANNOUNCEのメイル見てたり。とか だらだらしてるとbugtraqでPHP4.2.0と4.2.1のセキュリティ勧告が(ぉ。また入れ換えでつか... www.php.net繋がらないし〜。とりあえずPHP4.2.2げと。さてどのさばから入れ換えるかな...

POST入力に依存しない場合だったら.htaccessに

<Limit POST>
 Order deny,allow
 Deny from all
</Limit>

書いてもいいにょって言ってるけどPOST依存しまくってるてば(ワラ

PHP4.2.2 release

POSTED AT 14:27:34 IN PHP | TRACKBACK : 0

20020711

PHP4.1.2ではなくて4.2.1に戻してみた。文字化けの件はエンコードしてブサイクにしてみた。

php.iniでregister_globals = Off にしてみて書いてみた。つか今までプログラムを書き直すのが面倒だったのでOnにしてたという(コラ。送信ボタンを押したという書き方がわかんなかった(ぉ。$_POST['hoge'] とかはわかってんだけど。$_REQUESTなのか$_SERVERを使うのか意味不明(ぉ。どこかからコードをぱくってきて動いたけど...。こんなんで月末までに間に合うんか!!

りょーたろさん、男の鑑!!

けだおさめ、見習ったほうがいいかと思われ(とか言う

POSTED AT 14:27:35 IN PHP | TRACKBACK : 0

20020710

ノートにPHP4.1.2入れてみる。つか4.2.1はいってるつーの。でちょっとPHP4.1.2が要りようだったので仕方なく...

php.iniで

mbstring.internal_encoding = EUC-JP
mbstring.http_input = auto
mbstring.http_output = SJIS
mbstring.detect_order = auto
mbstring.substitute_character = none;

てしてるのにDBからよんできた値が文字ばけするんだよね。METAタグでもcharset = "Shift_JIS"、php.iniのdefault_charset = "Shift_JIS"にしてるんだけどなぁ。家のさーばもPHP4.1.2で同じようにしてるんだけどこっちは大丈夫なのね。何が原因かよくわかんない。いつもと同じようにインストールしてるんだけどなぁ。

むぅ。こんなことで時間食ってたら納期に間にあわねー。PHP4.2.1で開発しとこかなぁ...(泣

POSTED AT 14:27:35 IN PHP | TRACKBACK : 0

20020417

WWWCつかってはる人へ。Cookieの動きおかしーのでしばらくはずしてください。そーりー。

気合いいれてPHPでがしがし書いてみた。書いてて思ったんだけど2次元配列の要素数をカウントできないのだろーか。sizeof()で2次元配列使ってもいいのかね。謎だ。つか、ちゃんとでばぐ用にechoで吐いてみたものの別のHTMLをincludeしてるのでブラウザのソースを見る機能ではその結果が見れないのだ。アフォな作りかたや...

JACCSのCMに出てる村上淳をみてしおしお。ダメだ。そっくりすぎて(誰)マジ泣いてしまいそう...

そーいや、おきらく君が「ぼく、2chで叩かれたらしいんすよ」と嬉しそげに言いにきた。「あーいいなぁー」と思うわしってドウヨ。いえ、叩かれたくないです(わら。

POSTED AT 14:27:38 IN PHP | TRACKBACK : 0

20020118

PHP-users 48214824

ウザ。前スレで正規表現しらべろって言われたんなら調べろよ。

で、こういうことでそ?

で、そんな正規表現しらないあなたに ココ。POSIX1003.2で名前でのキャラクータクラス指定は結構イケてます。

# grepではちょっと出来ないときがあったりだったけど

POSTED AT 14:27:41 IN PHP | TRACKBACK : 0

20000823

なんか体調悪いし。東京から帰ってきてから。気でも抜けたかな。

BBSのSUBMITボタンまわりが妙にイヤだったのでimageにした。複数imageを使ったFORMってどういうふうに次にデータを受け渡すのかわからなかったんだけどこの間某MLにてその話題がでたので早速テストしてみる。なるほどねぇ。わかったっつーことで。BBSのボタン変えました。

先週からDHTMLとJavaScriptを使ったページに興味を持ったのでちょこちょことやってみたり。クライアント側で動くものに最近は抵抗あったけどやってみればおもしろいかも。一通り目を通してやってみたのでちょっと満足げ。

次はASPとかやってみようかな。その前にWindowsサーバー必要ってか。

POSTED AT 14:27:59 IN PHP | TRACKBACK : 0

20000607

昨日、昼過ぎにPHPのMLで「SQL文でParse ERRORがでたので何故エラーになったのかわかりません」などと戯けた事を書いてきたやつがいた。勿論SQL文付きなんだけど。SQLのところでERRORって言えば単にSQL文の書き方が 間違ってるだけなのに「わかりません」とな。いずれ誰かが突っ込むであろうと思っていたんだけど echoで書いてみれば?とか「psql」で書いたSQLを実行させてみれば?とかあったりまえのような事でレスしてた。(レス返していた皆様には心の広さ伺えます)

でも、本人はそういう有り難いレスに目を通していないのか 「お客さんに入力項目が未入力のときは0を入力してくださいって言いました〜」 ってメイルしたもんだから良識人の方々はキレてました。あったりまえ〜。Webにはごろごろマニュアルが転がってます。探せば探せます。本は買わなくても日常作業分くらいならWebのマニュアルで十分です。人に聞く前に調べましょう。人に聞いたことはすぐに忘れます。

MLでもそうなんだけど、Webデザインやってる人もPHPに注目してやっているヒトいるねぇ。あんたらはデザインが本業なんだから専門職の人にやってもらいなさい。PHPするんだったらSQLも書けるようになれっつ〜の。

あたしだって偉そうに言えないまだ「ひよっこ」だけどね...トホホ(笑

POSTED AT 14:28:02 IN PHP | TRACKBACK : 0

20000530

Cookieがきかねぇ〜。まだやってます。つ〜かMSIEは最低です。こんなバグなブラウザ知りません。UNIX環境な方は多分Netscapeで確認していると思うのでわからないのかなぁ?(Netscapeは問題ないっす) 圧倒的にシェアからすればMSIEなのでこれをクリアしないと 根本的にシステム構成変えなきゃいけないかも。

これに加えてさっきテストしたときにエラー処理の為に別のURLにリダイレクトするっていうのやってみたんだけどHTMLが送信される前にheaderを送信してるのにWarningになっちゃうし。

昨日からPHP-jpのMLの過去ログみているんだけどないなぁ>MSIEのCookie問題。なんだかUNIXなヒト多いので発言するのちょっぴり恥ずかしいかも。マニュアルも見たしMSサイトも見たし解決方法がもう思いつかないので そろそろ投稿しようかなぁ>ML(笑

POSTED AT 14:28:02 IN PHP | TRACKBACK : 0