‘WebApp’のエントリ

Weather TypingのランキングをREST Webサービスで表示できた。これからデザインをしないと。今回は開発環境にEclipseとMaven, サーバにApache, Tomcat,mySQL,サーバフレームワークにServlet, JSP, Axis2,Hibernate,クライアントフレームワークにStruts2とjQueryを使ってるんだけど,使うテクノロジ多すぎ。

家に戻る。Weather TypingランキングをJava関連技術で作り直す計画を始めるか。昔勉強したときはTomcatとJSPしかなかったからStruts,jQuery,Axis2,Hibernateを数ヶ月勉強している。

夏休み。

前半は物理シミュレーションの高速化をやっていた。今まで衝突判定のスピードを考えず,直方体なら面6つと点8つに分解して「面と点」など汎用的な処理にしていた。で,それだと直方体4つくらいで10FPSまで落ちてしまったので,結局「直方体と床」とか「直方体と球」とか個別に判定するようにして,なんとか直方体15個で30FPSくらいまでにはなった。まだ遅いような気はするけど。

後半はサーブレットとJSPの勉強。仕事とも趣味とも全く関係ないけど,やっぱり広く浅く知るには試験勉強でしょ,ってことでSUNの試験を申し込んでいる。ぷよSUNが懐かしい。

あれ,夏休みに読み切る予定だったハリーポッターが10ページしか進んでない…。

夏休み。てことで以前から動かないと言われ続けていた Windows + PHP + mySQL のシステム復帰を画策。メッセンジャでやりとりしつつ数時間。なんとか動くようになった。YN氏に感謝。結局動かなかった原因は,

  • データベーステーブル名の大文字小文字
  • php.ini の magic_quotes_gpc が ON になっていた

の 2 点。

以前作った Windows + PHP + mySQL のシステムが Linux 上で動かない問題。結局 PHP のソースを EUC にして,MySQLの文字コードも EUC にしたところ動くようになった。あとは本番環境で動くか,なのだが,そこは YN 氏にお願いするとして,ここではインストールメモだけ残しておく。


PHP + MySQL 環境を RedHat Linux に作成。PHP は既に入っているので MySQL だけ入れればいいかと思ったら php-mysql のバージョンが合わずにうまくいかなかったので apache,PHP,MySQLをソースからインストール。

apache(httpd-2.0.46.tar.gz)インストール

// make
./configure --enable-shared=max --enable-module=most
make
make install

// httpd.conf
DirectoryIndex に index.php を追加

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

// 起動
/usr/local/apache2/bin/apachectl start

mysql(mysql-4.0.13.tar.gz)インストール

// make
./configure --with-charset=ujis --with-extra-charsets=all --with-mysqld-user=mysql --prefix=/usr/local/mysql
make
make install

// 設定
scripts/mysql_install_db
chown -R root  /usr/local/mysql
chown -R mysql /usr/local/mysql/var
chgrp -R mysql /usr/local/mysql
cp support-files/my-medium.cnf /etc/my.cnf

// 起動
/usr/local/mysql/bin/safe_mysqld --user=mysql &

// データベース作成
mysqladmin -u root password (パスワード)
mysqladmin -u root -p create (データベース名)
mysql -u root -p mysql
grant all privileges on (データベース名).* to (ユーザ名)@localhost identified by '(パスワード)';
mysql -u (ユーザ名) -p (データベース名)

php(php-4.3.2.tar.gz)インストール

// make
./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql

InnoDB: Error: log file .ib_logfile1 is of different size 0 0 bytes
InnoDB: than specified in the .cnf file 0 5242880 bytes!

というエラー。これは何度もインストールしてファイルサイズの整合性が失われたせいで,

ib_logfile
ibdata

を削除して直った。


PHPからMySQL接続時に

/var/lib/mysql/mysql.sock

に接続できないというエラー。これは MySQL の設定と PHP の設定が合っていないため。今回は PHP 側の設定を直して,DB接続時のサーバを

localhost
から
localhost:/tmp/mysql.sock

にした。


php コマンドで直接 .php を起動すると

File 'NONEXISTENT/charsets/?.conf' not found (Errcode: 2)
Character set '#12' is not a compiled character set and is not specified in the 'NONEXISTENT/charsets/Index' file

というエラーが出てくるのだが,今のところ実行には影響していない模様。ujis.conf がない,という意味のようだが,未解決。

以前作った Windows + PHP + mySQL のシステムを Linux 上で動かしたいらしいが,動かないらしい。調べないと。

PHP+MySQL+Apache で作っていたシステムがほぼ完成。ウェザタイランキングも PHP で作りたくなった。けど,denasu.to の環境が改善されるまでは無理ということで。

近頃 PHP を使っているのだが,やっぱり HTML の中にプログラムを書くのはごちゃごちゃする。デザインは他の人に任せたいのにプログラムが邪魔しそう。とりあえず可能な限り関数にして分離しているが,他の PHP 使ってる人ってどうやってるんだろう。

Apache + PHP + MySQL(Windows)の組合せを試す。ついでにローカルのテスト用 Web 環境を AN HTTP Server から Apache に。PHP のディレクトリを Apache のドキュメントルートじゃない場所にしたかったのだがうまくいかなかった以外は一応動いているようだ。