Archive for the ‘PHP’ Category
PHP on Google App Engine

1. Quercusライブラリダウンロード
http://quercus.caucho.com/ から Quercus 3.1.6をダウンロードする(Quercus 4.0.1は文字化けが発生するので、今回は3.1.6を使うようにする)
jar xf quercus-3.1.6.war
(quercus.jar, resin-util.jar, script-10.jar)
2. Jettyライブラリダウンロード
http://dist.codehaus.org/jetty/jetty-6.1.17/ から jetty-6.1.17.zip をダウンロード
(jetty-6.1.17.jar, jetty-util-6.1.17.jar)
3. ライブラリをlibフォルダに入れる
1と2で取得したjarファイルを war/WEB-INF/lib に入れる
4. 設定ファイル修正
4-1 appengine-web.xml
<static-files> <exclude path="/**.php" /> </static-files> <resource-files> <include path="/**.php" /> </resource-files>
4-2 web.xml
<servlet>
<servlet-name>Quercus Servlet</servlet-name>
<servlet-class>com.caucho.quercus.servlet.QuercusServlet</servlet-class>
<init-param>
<param-name>script-encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>ini-file</param-name>
<param-value>WEB-INF/php.ini</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>Quercus Servlet</servlet-name>
<url-pattern>*.php</url-pattern>
</servlet-mapping>
4-3 php.ini ファイル作成
war/WEB-INF の下に php.ini ファイルを新規作成
unicode.semantics=on unicode.http_input_encoding=UTF-8 unicode.output_encoding=UTF-8 unicode.runtime_encoding=UTF-8
5. info.php
warの下にinfo.phpを作成
<?php phpinfo(); ?>
6. アクセスしてみる。
http://localhost:8080/info.php
Mac OS X での httpd 設定メモ
1. 各ソフトウェア確認
$ perl -v
This is perl, v5.10.0 built for darwin-thread-multi-2level
$ php -v
PHP 5.3.0 (cli) (built: Jul 19 2009 00:34:29)
$ python -V
Python 2.6.1
2. confファイル修正
$ sudo vi /private/etc/apache2/httpd.conf
#コメントを外す(php用)
LoadModule php5_module libexec/apache2/libphp5.so
#コメントを外す(perl, python CGI用)
AddHandler cgi-script .cgi
$ sudo vi /private/etc/apache2/users/{username}.conf
# ExecCGI追加
<Directory "/Users/{username}/Sites/">
#Options Indexes MultiViews
Options Indexes MultiViews ExecCGI
AllowOverride None
Order allow,deny
Allow from all
</Directory>
3. 確認
perl.cgi
#!/usr/bin/perl
print "Content-type: text/html\n\n";
foreach(sort keys %ENV){
print "$_: $ENV{$_}\n";
}
python.cgi
#!/usr/bin/python import os print "Content-type: text/html\n\n"; for param in os.environ.keys(): print "%20s %s<br/>" % (param,os.environ[param])
test.php
<?php
phpinfo();
?>
Symfony インストール
いきなりですが、
$ pear upgrade pear
・・・・・・
requires package `Archive_Tar’ >= 1.3.1
PEAR: Dependencies failed
$
Archive_Tar のバージョンが古いらしい。
$ pear list
Package Version State
Archive_Tar 1.1 stable
Console_Getopt 1.2 stable
・・・・・
$
先に Archive_Tarのバージョンをあげる。(ルート権限で)
# pear upgrade Archive_Tar
…..done: 15,102 bytes
upgrade ok: Archive_Tar 1.3.1
#
もう一回ためし
# pear upgrade pear
upgrade ok: PEAR 1.4.11
#
上手く行った様だ。
# pear channel-discover pear.symfony-project.com
Adding Channel “pear.symfony-project.com” succeeded
Discovery of channel “pear.symfony-project.com” succeeded
# pear install symfony/symfony
・・・・
PHP Fatal error: Allowed memory size of 8388608 bytes exhausted
(tried to allocate 58368 bytes) in /usr/share/pear/PEAR/Task/
Replace.php on line 170
またまたエラー、メモリサイズが小さいみたい、php.iniのmemory_limit=20Mにしてリトライ
# pear install symfony/symfony
………………………done: 1,283,270 bytes
install ok: channel://pear.symfony-project.com/symfony-0.6.3
今度は上手くいったよう
# symfony -V
symfony version 0.6.3
#
万歳!
PHP フレームワーク
PHPを使ったプロジェクトをそろそろ始まるところで、今世の中で流行ってるフレームワークを使ってみようと調べてみたらこんなもの見つけました。
- Symfony: Based on Mojavi and inspired by Rails
- Mojavi: The first MVC framework I fell in love with
- CakePHP: Inspired by Rails PHP4/5
- PHPOnTrax: a Rails port – PHP5 Only
- Prado: The winner of Zend coding contest
- Studs: A Java-Struts port to PHP
- Phrame: A Java-Struts port
- Achievo: A good RAD framework
- WACT: Web Application Component Toolkit
- Ambivalence: A Java-Maverick Port
何にしようかな?Symfonyを使ってみようと思ってたが、Smartyの組み込みが難しいと
これも悩むことだね、いつかStrutsのようなデファクトスダンダートは出てこないかな???
半角ダッシュ
日本語キーボードから「半角ダッシュ」入力できる?
- ー [全]長音
- - [全]マイナス
- – [半]ハイフン、マイナス
- ー [半]長音
- ― [全]ダッシュ
- ‐ [全]ハイフン
いろいろ試してみたが、駄目でした。ユーザはどうやって入力できったんだろう?いたずら?
PostgreSQLのキャラクターセットをUTF8以外に設定した場合、半角ダッシュは登録されないらしいです。2ヶ月前にリリースしたシステムでバグリました。正確に言うと2年前にリリースしたシステムなんですけどね...うっん。 何社経由して来たが、今回 ”運がよかった” のでぴったりあたりました。ハハハ~
そろらくMysqlも同じでしょう。
Leave a Comment
Leave a Comment
Comments (1)