僕に一番向いてるプログラミング言語
2007/10/18 00:17 posted by kunkichi

今更Pyth(ry
いや、ほんとまじめに勉強しようと思っています。

今更Pyth(ry
いや、ほんとまじめに勉強しようと思っています。
ちょっと作りたいアプリケーションを思いついたので、最近流行の CakePHP をさくらインターネットで使ってみようと。その時のメモ。
ちなみにうちのディレクトリ構成はこんな感じ。+/home/example ・・・ ホームディレクトリちなみに以下のサイトを参考にさせてもらいました。
|
+cake ・・・ cake ディレクトリ
|
+apps ・・・ CakePHPで作成するアプリケーション用ディレクトリ
| |
| +app1 ・・・ CakePHPで作成するアプリ1のappディレクトリ
| | |
| | +config, docs, libs, scriptsディレクトリとファイル
| |
| +app2 ・・・ CakePHPで作成するアプリ2のappディレクトリ
| |
| +config, docs, libs, scriptsディレクトリとファイル
|
+www ・・・ ウェブで公開されるディレクトリ(DocumentRoot)
|
+app1 ・・・ CakePHPで作成するアプリ1 の webroot
|
+app2 ・・・ CakePHPで作成するアプリ2 の webroot
|
+other ・・・ CakePHP以外のアプリを使う場合のディレクトリ
ディレクトリ構成的には、
辺りのところは、I Love PHP さんとこで紹介されているのと同じポリシーなんだけど、
というところを追加してみました。
最近はホスティングもドメインも安くなってきたけど、それでもやっぱり余計な出費は抑えたい、一つの契約でいろいろやりたい、というお金がない人向けの設定(笑)。でも結構ニーズあるかと。
手順は以下。
ソースのダウンロードと展開
# cd ~/tmp
# wget http://cakeforge.org/frs/download.php/502/cake_1.1.17.5612.tar.gz
# tar zxvf cake_1.1.17.5612.tar.gz
# cd cake_1.1.17.5612
CakePHPライブラリの配置
# cp -r cake /home/example/.
アプリ用ディレクトリにappディレクトリを配置
# mkdir /home/example/apps
# cp -r app /home/example/apps/app1
公開ディレクトリにwebrootディレクトリを配置
# mv /home/example/apps/blog/webroot /home/example/www/app1
設定ファイルの編集
# vi /home/example/www/app1/index.php変更箇所は以下。CakePHPのマニュアルによると、ディレクトリのパスは’/abc/def’と指定するより、DS.’abc’.DS.’def’が推奨と書いてあるので、それに併せてます。
・・・
define('ROOT', DS.'home'.DS.'UserName'.DS.'apps');
・・・
define('APP_DIR', 'app1');
・・・
define('CAKE_CORE_INCLUDE_PATH', DS.'home'.DS.'UserName');
・・・
mod_rewriteの設定
# vi /home/example/app1/.htaccess
RewriteBase /app1
データベースの設定
# cd /home/example/apps/app1/config変更箇所は以下。
# cp -pi database.php.default database.php
# vi database.php
・・・
class DATABASE_CONFIG
{
var $default = array( 'driver' => 'mysql',
'connect' => 'mysql_connect',
'host' => 'mysqlXX.db.sakura.ne.jp',
'login' => 'UserName',
'password' => 'password',
'database' => 'UserName',
'prefix' => 'app1_');
var $test = array('driver' => 'mysql',
・・・
}
prefixをつけているのは、複数のアプリを作る場合にややこしくなりそうなので。
あ、そうそう、うちではビルドしたphp5で確認してます。さくら標準のphp4でも同様に動くかどうかは不明。
ではぼちぼち作っていきます。
php本家にこんなニュースが、、、拙訳ですが。
PHP 4 開発終了のお知らせ(※クリックすると原文に飛びます。)
[2007年7月13日] 今日からちょうど3年前、PHP5がリリースされました。この3年間、PHP 4を超える多くの改善が見られました。PHP5 は 高速で安定した製品レベルに達しており、PHP 6 も 開発中ですので、PHP 4 は 終了する予定です。
PHP 開発チームはここにPHP4のサポートが今年の年末までしか続かないことをお知らせします。2007年12月31日より後は、PHP4.4. 以上のさらなるリリースはないでしょう。私たちは、2008年8月8日までは、あくまでもケース・バイ・ケースになりますが、緊急のセキュリティ修正については継続して提供する予定です。どうか、あなたのアプリケーションがPHP 5での動作に適した形になるように、今年の残りを使ってください。
PHP 4 からPHP 5 への移行に関するドキュメントについては、私たちは移行ガイドをお勧めします。同様に PHP 5.0 から PHP 5.1、PHP 5.1 から PHP 5.2 への移行ガイドにおいても追加情報が手に入ります。(www.php.net)
いよいよかー、個人的には PHP4 が初めて勉強したプログラミング言語だったので感慨深いものがあります。
ただ、PHP5への移行はあまり進んでいないという現状に、これがどう影響するかだなー。
PHP5への移行が進んでいないという情報に関するサイトを以下につけときます。
・PHP is dead … long live PHP!
昨日は仕事を午前休もらって、アシアル株式会社主催のPHPセミナーに行ってきました。もちろん無料セミナー(笑。
で今回のテーマは「PHPで快適デバッグ」。
PHPのデバッグ、というかWebアプリのデバッグは、例えばVisual Studioなんかを使ったデバッグとはちょっと違って難しいところがある。例えば、スクリプトのある時点での変数の値を確認したいとする。
Visual Studio だと、
って感じで簡単にできるのだけど、Webアプリケーションとなるとこれが一気に難しくなる。
こんな感じでとても原始的な上に後でめんどくさくなるやり方をするパターンが多い。というのもWebアプリでは処理はサーバ側で実行されるので、サーバ側で制御してあげないといけない。ローカルPCで Visual Studio を使うようにはいかないのだな。
ということで、DBG + DBGListener + DBGクライアント(PHPSimpleDebugger) を使った手法の説明がメインでした。簡単な図で表すと、

試してないのでちょっと間違ってるかもしれないけど、要はサーバとクライアントでデバッグ用のポートを別途用意して、デバッグ情報や制御をそこで行うと。これでIDEライクなデバッグができるという訳。昔DBGを試してみたことはあったのだけど、リモートではうまく動かなかったのでそこで諦めてたんだよね。SSHでトンネル貼れば本番環境でもデバッグできそうだし。早速会社で試してみようっと。
あとDBG以外にもいろいろ面白いのがありました。
前のエントリでphp5をインストールしたので、やっとactiveCollabを試せると思っていたのに、インストールしてみると、、、
InnoDB storage engine is not supported.
さくらのmysqlってInnoDB非対応なのね、、orz
うーん、どうするかなあ、、、
【追記】
InnoDBじゃなくてMyISAMでは動かないのかなぁと思って、本家サイトのフォーラムをのぞいてみるとFAQ化していた様子、、、自分にorz
It should work, but I strongly recommend using InnoDB because activeCollab uses transaction to keep data in sync and recover from errors. Its that important that I’d say that InnoDB is requirement, but you can use MyISAM at your own risk.
To use MyISAM do what gog said in the previous post (open install/installation/templates/sql/mysql_schema.php and replace every occurance of ENGINE=InnoDB with ENGINE=MyISAM).
うーん、一人で使うつもりだから、とりあえずソースいじって使ってみるかな。
さくらインターネットでphp5をインストールする手順はたくさんの人が書いているけど、それらを参考にphp-5.2.0をインストールしてみたところ、make installでpearのエラーが発生する。
ということでググってみたところ、琥瑠璃どっとこむ:さくらのレンタルサーバーへPHP5.2.0をインストールでやっぱり指摘されていたので、それに従いインストール。
うちのconfigureオプションはこんな感じ。
# export PHP_PEAR_CACHE_DIR="$HOME/local/php-5.2.0/pear/cache"
# ./configure ¥
--prefix=$HOME/local/php-5.2.0 ¥
--program-suffix=5 ¥
--with-pear=$HOME/local/php-5.2.0/share ¥
--with-config-file-path=$HOME/local/etc/php5.ini
--enable-force-cgi-redirect ¥
--enable-mbstring=all ¥
--enable-mbregex ¥
--enable-mbstr-enc-trans ¥
--enable-versioning ¥
--enable-trans-sid ¥
--with-mysql ¥
--with-openssl=/usr ¥
--with-soap=yes ¥
--with-zlib=/usr ¥
--with-gd=/usr/local ¥
--with-jpeg-dir=/usr ¥
--with-freetype-dir=/usr ¥
--with-ttf ¥
--with-png-dir=/usr ¥
--with-curl ¥
--with-iconv=/usr/local
ちょっと冗長なところもありますが、細かいことは気にしないタイプなので、爆。
これでactiveCollabを試してみたいと思います。
2008/02/19/ 23:52
2008/01/23/ 21:27
2007/12/07/ 10:36
2007/07/23/ 02:06
2007/07/14/ 05:40