PHP
の編集
https://oku.edu.mie-u.ac.jp:443/~okumura/linux/?PHP
[
トップ
] [
編集
|
差分
|
バックアップ
|
添付
|
リロード
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
* PHP [#nbe2e7d5] - 2007-03-01 に PHP 4.4.6 が出ています。 - 2007-02-14 に PHP 5.2.1 が出ています。 - PHP 5.2.0 が出ました(が何か非互換な動作をするので 5.1.6 に戻してしまいました)。 // - PHP 5.0.5 の時点で [[大きなバグフィックス:http://bugs.php.net/bug.php?id=33257]] // がされたので,動かなくなるソフトが出ています。 // PukiWiki も動かなくなったのですが,新しい1.4.6は大丈夫です。 // PHP 5.0.5 では Moodle はまともに動かないようですので,より新しいものか,あるいは 4.x を使ってください。 ** 入手 [#bcd0d0ab] [[www.php.net:http://www.php.net/]] または日本のミラー [[jp.php.net:http://jp.php.net/]], [[jp2.php.net:http://jp2.php.net/]] から PHP4 または PHP5 を入手し,展開します。 [[Ring Server:http://www.dnsbalance.ring.gr.jp/]] でも [[ミラーしています:http://www.dnsbalance.ring.gr.jp/pub/net/www/php/distributions/]]。 ** インストール [#z3753832] [[Apache 1:http://oku.edu.mie-u.ac.jp/~okumura/networking/apache.html]] または [[Apache 2]] のインストールを済ませておいてください。 PHP 5.x の場合は [[libxml2:http://xmlsoft.org/]] もインストールしておきます(あるいは XML 関係のオプションを切る必要があります)。 -[[Libxml2 Multiple Buffer Overflows:http://secunia.com/advisories/13000/]] にご注意。2004-10-30 (土) 15:46:38 Vine Linux 3.2 では次のパッケージを apt-get install しておきます。 flex libxml-devel libxml2-devel zlib-devel libjpeg-devel libpng-devel PostgreSQL が /usr/local/pgsql に入っている場合は次のように configure に --with-pgsql も付けます。この場合は /etc/ld.so.conf に /usr/local/pgsql/lib と書いておき /sbin/ldconfig を実行しておかなければなりません。 cd php-4.4.6 ./configure --with-apxs=/usr/local/apache/bin/apxs \ --with-pgsql --without-mysql Apache 2 の場合は --with-apxs2=/usr/local/apache2/bin/apxs のようにします。 PHP 5.x の場合は,標準で含まれている [[SQLite:http://www.sqlite.org/]] を使うなら,データベース関係のオプションは不要です。 PHP 5.0.x には SQLite 2.8.14 が標準で含まれていますが,PostgreSQL や MySQL も使うなら --with-pgsql --with-mysql を加えます。 http://dev.mysql.com/ にある MySQL-{client,devel,server}-番号.i386.rpm のうち必要なものをインストールしておきます(devel は必須)。 MySQLをソースからコンパイルしたなら --with-mysql=/usr/local/mysql のように場所を指定します。 PostgreSQLを使うなら apt-get install postgresql-devel しておきます。 MySQL 4.1.3以降の拡張を使うなら --with-mysqli=/usr/bin/mysql_config も追加します。 cd php-5.2.1 CFLAGS="-O2" ./configure \ --with-apxs2=/usr/local/apache2/bin/apxs \ --enable-mbstring --with-gettext \ --with-mysql --with-pgsql \ --with-zlib --with-gd \ --with-jpeg-dir=/usr/lib --with-png-dir=/usr/lib マルチバイト文字対応 --enable-mbstring などのオプションを付けています。 ~--with-zlib --with-gd は [[Moodle:http://moodle.org/]] が使います。 ほかに LDAP を使うなら --with-ldap も付けます(apt-get install openldap-devel が必要)。 make make install cp php.ini-recommended /usr/local/lib/php.ini これで /usr/local/apache/libexec/libphp4.so あるいは /usr/local/apache2/module/libphp5.so という Shared Object ができます。 ほかに /usr/local/lib/php/ の下にたくさんのファイルが入ります。 さらに 4.3.x では /usr/local/include/php/ にヘッダファイルが入り,/usr/local/bin/ には php,pear,phpize,phpextdist,php-config が入ります。 また,/usr/local/apache/conf/httpd.conf は若干書き換えられます(古いものは httpd.conf.bak として残ります)。 /usr/local/lib/php.ini は適宜編集します(後述)。 これでいったん Apache を /usr/local/apache/bin/apachectl stop で止めてから /usr/local/apache/bin/apachectl start します。 もしうまくいかないなら,httpd.conf の LoadModule php4_module(または php5_module)で始まる行をコメントアウトすれば元に戻ります: ** php.ini の設定 [#s1ae326b] 以下の設定は /usr/local/lib/php.ini で行います。 デフォルトではセッション情報は /tmp に入ります: session.save_path = /tmp これではセキュリティ的にまずいので,目立ちにくい場所に変更し,そのディレクトリの所有者を www,パーミッションを 700 にしておきます。 PHP 4.2 からは register_globals = Off がデフォルトになりました。 これでは動かない古いソフトがある場合は On にしておきます。 もうそろそろどのソフトも On で大丈夫でしょう。 公開サーバでは display_errors = Off が推奨です。 ただし,学生の勉強用にはエラーや警告を表示させたほうがいいので,On にします。 ついでに error_prepend_string,error_append_string を設定しておけばエラーを赤で表示するといったことができます。 PHP のサイトからドキュメントをダウンロードして自サーバに展開してその位置を docref_root に設定し,docref_ext もコメントでなくしておくと便利です。 memory_limit = 8M がデフォルトですが,Moodle を使うには16M以上が推奨のようです。 セーフモードを設定できればより安心なのですが,現実問題としてセーフモードでは動かないソフトがあります(例:Moodle)。 少なくとも /etc/passwd が丸見えにならないように open_basedir = "/usr/local:/home" などとしておけばいいでしょう。 ついでに Moodle のために session.bug_compat_warn = 0 としておきます。 あとはマルチバイト文字列関係です(一例)。 mbstring.language = Japanese mbstring.internal_encoding = EUC-JP mbstring.http_output = EUC-JP セキュリティを向上させる設定: session.use_only_cookie = 1 session.hash_function = 1 ** グラフィックを使うには [#v61e7eed] (以下は最近確認していません。) PHP で gd ライブラリによるグラフィック機能を使いたければ,./configure の際に --with-gd --with-jpeg-dir=shared --with-zlib-dir=shared を付けます。 libjpeg がなければ [[ftp://ftp.uu.net/graphics/jpeg/jpegsrc.v6b.tar.gz]] を展開したディレクトリで ./configure --enable-shared,make,make install してください。 libpng がなければ [[libpng:http://www.libpng.org/pub/png/libpng.html]] のサイトから取ってきて scripts ディレクトリの中の適当な makefile のリンクをソースディレクトリのトップに makefile という名前で作って make,make install します。 ちょっとやってみましたが,アロケートできる色の数は256色が限度のようで,大きい絵を作るとたいへん遅くなります。 ** リンク [#ge59023a] -[[日本PHPユーザー会:http://www.php.gr.jp]] -[[komuraさん:http://www.asahi-net.or.jp/~wv7y-kmr/]] の [[メモ:http://www.asahi-net.or.jp/~wv7y-kmr/memo.html]]
タイムスタンプを変更しない
* PHP [#nbe2e7d5] - 2007-03-01 に PHP 4.4.6 が出ています。 - 2007-02-14 に PHP 5.2.1 が出ています。 - PHP 5.2.0 が出ました(が何か非互換な動作をするので 5.1.6 に戻してしまいました)。 // - PHP 5.0.5 の時点で [[大きなバグフィックス:http://bugs.php.net/bug.php?id=33257]] // がされたので,動かなくなるソフトが出ています。 // PukiWiki も動かなくなったのですが,新しい1.4.6は大丈夫です。 // PHP 5.0.5 では Moodle はまともに動かないようですので,より新しいものか,あるいは 4.x を使ってください。 ** 入手 [#bcd0d0ab] [[www.php.net:http://www.php.net/]] または日本のミラー [[jp.php.net:http://jp.php.net/]], [[jp2.php.net:http://jp2.php.net/]] から PHP4 または PHP5 を入手し,展開します。 [[Ring Server:http://www.dnsbalance.ring.gr.jp/]] でも [[ミラーしています:http://www.dnsbalance.ring.gr.jp/pub/net/www/php/distributions/]]。 ** インストール [#z3753832] [[Apache 1:http://oku.edu.mie-u.ac.jp/~okumura/networking/apache.html]] または [[Apache 2]] のインストールを済ませておいてください。 PHP 5.x の場合は [[libxml2:http://xmlsoft.org/]] もインストールしておきます(あるいは XML 関係のオプションを切る必要があります)。 -[[Libxml2 Multiple Buffer Overflows:http://secunia.com/advisories/13000/]] にご注意。2004-10-30 (土) 15:46:38 Vine Linux 3.2 では次のパッケージを apt-get install しておきます。 flex libxml-devel libxml2-devel zlib-devel libjpeg-devel libpng-devel PostgreSQL が /usr/local/pgsql に入っている場合は次のように configure に --with-pgsql も付けます。この場合は /etc/ld.so.conf に /usr/local/pgsql/lib と書いておき /sbin/ldconfig を実行しておかなければなりません。 cd php-4.4.6 ./configure --with-apxs=/usr/local/apache/bin/apxs \ --with-pgsql --without-mysql Apache 2 の場合は --with-apxs2=/usr/local/apache2/bin/apxs のようにします。 PHP 5.x の場合は,標準で含まれている [[SQLite:http://www.sqlite.org/]] を使うなら,データベース関係のオプションは不要です。 PHP 5.0.x には SQLite 2.8.14 が標準で含まれていますが,PostgreSQL や MySQL も使うなら --with-pgsql --with-mysql を加えます。 http://dev.mysql.com/ にある MySQL-{client,devel,server}-番号.i386.rpm のうち必要なものをインストールしておきます(devel は必須)。 MySQLをソースからコンパイルしたなら --with-mysql=/usr/local/mysql のように場所を指定します。 PostgreSQLを使うなら apt-get install postgresql-devel しておきます。 MySQL 4.1.3以降の拡張を使うなら --with-mysqli=/usr/bin/mysql_config も追加します。 cd php-5.2.1 CFLAGS="-O2" ./configure \ --with-apxs2=/usr/local/apache2/bin/apxs \ --enable-mbstring --with-gettext \ --with-mysql --with-pgsql \ --with-zlib --with-gd \ --with-jpeg-dir=/usr/lib --with-png-dir=/usr/lib マルチバイト文字対応 --enable-mbstring などのオプションを付けています。 ~--with-zlib --with-gd は [[Moodle:http://moodle.org/]] が使います。 ほかに LDAP を使うなら --with-ldap も付けます(apt-get install openldap-devel が必要)。 make make install cp php.ini-recommended /usr/local/lib/php.ini これで /usr/local/apache/libexec/libphp4.so あるいは /usr/local/apache2/module/libphp5.so という Shared Object ができます。 ほかに /usr/local/lib/php/ の下にたくさんのファイルが入ります。 さらに 4.3.x では /usr/local/include/php/ にヘッダファイルが入り,/usr/local/bin/ には php,pear,phpize,phpextdist,php-config が入ります。 また,/usr/local/apache/conf/httpd.conf は若干書き換えられます(古いものは httpd.conf.bak として残ります)。 /usr/local/lib/php.ini は適宜編集します(後述)。 これでいったん Apache を /usr/local/apache/bin/apachectl stop で止めてから /usr/local/apache/bin/apachectl start します。 もしうまくいかないなら,httpd.conf の LoadModule php4_module(または php5_module)で始まる行をコメントアウトすれば元に戻ります: ** php.ini の設定 [#s1ae326b] 以下の設定は /usr/local/lib/php.ini で行います。 デフォルトではセッション情報は /tmp に入ります: session.save_path = /tmp これではセキュリティ的にまずいので,目立ちにくい場所に変更し,そのディレクトリの所有者を www,パーミッションを 700 にしておきます。 PHP 4.2 からは register_globals = Off がデフォルトになりました。 これでは動かない古いソフトがある場合は On にしておきます。 もうそろそろどのソフトも On で大丈夫でしょう。 公開サーバでは display_errors = Off が推奨です。 ただし,学生の勉強用にはエラーや警告を表示させたほうがいいので,On にします。 ついでに error_prepend_string,error_append_string を設定しておけばエラーを赤で表示するといったことができます。 PHP のサイトからドキュメントをダウンロードして自サーバに展開してその位置を docref_root に設定し,docref_ext もコメントでなくしておくと便利です。 memory_limit = 8M がデフォルトですが,Moodle を使うには16M以上が推奨のようです。 セーフモードを設定できればより安心なのですが,現実問題としてセーフモードでは動かないソフトがあります(例:Moodle)。 少なくとも /etc/passwd が丸見えにならないように open_basedir = "/usr/local:/home" などとしておけばいいでしょう。 ついでに Moodle のために session.bug_compat_warn = 0 としておきます。 あとはマルチバイト文字列関係です(一例)。 mbstring.language = Japanese mbstring.internal_encoding = EUC-JP mbstring.http_output = EUC-JP セキュリティを向上させる設定: session.use_only_cookie = 1 session.hash_function = 1 ** グラフィックを使うには [#v61e7eed] (以下は最近確認していません。) PHP で gd ライブラリによるグラフィック機能を使いたければ,./configure の際に --with-gd --with-jpeg-dir=shared --with-zlib-dir=shared を付けます。 libjpeg がなければ [[ftp://ftp.uu.net/graphics/jpeg/jpegsrc.v6b.tar.gz]] を展開したディレクトリで ./configure --enable-shared,make,make install してください。 libpng がなければ [[libpng:http://www.libpng.org/pub/png/libpng.html]] のサイトから取ってきて scripts ディレクトリの中の適当な makefile のリンクをソースディレクトリのトップに makefile という名前で作って make,make install します。 ちょっとやってみましたが,アロケートできる色の数は256色が限度のようで,大きい絵を作るとたいへん遅くなります。 ** リンク [#ge59023a] -[[日本PHPユーザー会:http://www.php.gr.jp]] -[[komuraさん:http://www.asahi-net.or.jp/~wv7y-kmr/]] の [[メモ:http://www.asahi-net.or.jp/~wv7y-kmr/memo.html]]
テキスト整形のルールを表示する