Category: PHP
PHP 5.2.1
February 11th, 2007portsの方のlang/php5が、PHP 5.2.1になっていた(今まで、5.2.0を使用していた)。
その他のportsも含めて更新したかったので、
# portupgrade -aRr
としたところ、途中、なぜか、
cd: can't cd to /usr/ports/databases/pecl-PDO
と表示され、php5-extensions等のいくつかのportsの更新に失敗。
どうやら、
/usr/ports/MOVEDの該当箇… more »
PHP 5.2.0
November 7th, 2006portsnap(8)したら、lang/php5のportが、5.1.6のバージョンから5.2.0に更新されていた。
ということで、依存するものを含めてportupgrade(8)した*1。
以前のバージョンのphp.iniは使い回せなかったので、後はこれを修正した程度。
*1 普段は、癖で、バージョンに変更があったportsだけを更新するため、「portupgrade -aRr」のようにして更新している。
www/eacceleratorを使っている場合、上記のようなやり方では、通常… more »
PHP4からPHP5に乗り換えた
July 23rd, 2006先日、www/mediawikiのportを更新して、MediaWikiを1.7のバージョンのものにしようとしたが、MediaWiki 1.7はPHP4には対応していなかったため、やむを得ず、www/mediawiki16のportに切替えた。
この間、更新したb2evolution 1.8-betaは、PHP5には対応しているようだし、そろそろ全面的にPHP5の環境に乗り換えるのも悪くないと考え、今回、思い切って、www/php4からwww/php5のportに移行してみました。
portup… more »
MediaWiki の port を www/mediawiki16 に変更
July 18th, 2006/usr/ports/UPDATINGの20060714によると、
www/mediawiki version is 1.7 now. 1.6 version was preserved on www/mediawiki16 port.
と、www/mediawikiのportは、1.7系列のバージョンのものに切り替わったらしい。
一応、このサーバにもMediaWikiはインストールしてあるんだけど、
MediaWikiのインストール メモ
MediaWikiを1.5.8から… more »
PHPのslave portsが取り除かれていたこと
May 8th, 2006/usr/ports/UPDATINGの20060506によると、
The old PHP slave ports (phpN-cli, phpN-cgi and mod_phpN) were removed
されたらしく、lang/php4もしくは、lang/php5のportsに統合された。
それに伴い、
Before the upgrade you *should* run 'make config' in lang/php4 or lang/php5
する必要が… more »
コンテント ネゴシエーション経由でPHPにリクエストを渡すのをやめた
April 5th, 2006この間まで、PHPスクリプトをデフォルトの
AddType application/x-httpd-php .php
ではなく、
SetHandler php-script .php
AddType text/html .php
と設定して、扱うようにしていた(過去の経緯については、p89参照)。
このブログのように、PHPスクリプト自体に.phpという拡張子が付いてるにも拘らず、それを含めないような形でアクセスさせるようにしている場合、接続クライアント… more »
graphics/pecl-imagickが更新
February 21st, 2006PHPの拡張モジュールであるgraphics/pecl-imagickのportが更新。
ImageMagickから枝分かれした、GraphicsMagickのライブラリを使用することが出来るようになった(標準では、GraphicsMagickが選択される)。
どちらを選んでも構わないのだが、現在のところ、ImageMagickのライブラリを使用したimagick.soをロードしていると、
<?php
phpinfo();
?>
が正… more »
FreeBSD上のPHPで、データのシリアル化を高速化する方法
February 16th, 2006Installing FreeBSD 6 for Internet Server
で知ったけど、FreeBSD上のPHPではserialize()のパフォーマンスが悪いらしい。
ports/81093 : lang/php4 - Slow serialize on FreeBSD
にパッチが配布されているので、適用してみた。
# cd /usr/ports/lang/php4/files/
# fetch http://freebie.miraclenet.co.th/… more »
PHP Screwを使ってPHPスクリプトを暗号化してみた
February 13th, 2006最近、PHP + MySQLなアプリケーションが増えて来て、自分でもよく利用している。
でも、せっかくデータベースの接続のためにパスワード認証を設けても、PHPのソースに生パスワードで記入するものが多く、気分的に不安が付きまとう。
普通、ローカルのユーザじゃないと、ソースコードは覗けないと思うけど、過去、ApacheにPHPをハンドルさせるのを忘れたりして、ソース丸見えな状況になった例もなきにしもあらずだし…。
見られて困るものなら、見られないようにすれば良いだけの話で、パスワード等を記述し… more »
MediaWikiのインストール メモ
February 7th, 2006以下は、FreeBSDにMediaWikiをインストールした際のメモです。データベースとWebサーバは、別々のjail環境下において動作させることにしています。
ホスト側の構成
FreeBSD 6.0-RELEASE
データベース用とWebサーバ用、あわせて2つのjail環境の構築
jail内でのIPC共有メモリ使用許可
jail側の構成
jail名
IPアドレス
使用したports*1
mysql
192.… more »
コメントスパム対策4
January 27th, 2006最近、また公開プロキシを利用して、アクセス元のIPアドレスや、ユーザエージェントを切替え、コンテンツを巡回しながらスパム投稿してくるロボットがやって来るようになった。
http://www.xdelta.net/blog/FreeBSD/2005/12/27/p115
の対策でとった、外部JavaScriptから適当なクッキーを書き込ませ、投稿時、そのクッキーがない場合は、.htaccessにてアクセスを拒否するといった設定は、今回も有効でどのスパム投稿も無駄な努力に終わってる。
しか… more »
コメントスパム対策3
January 3rd, 2006新年早々、スパムクローラーがご活躍のようで、そこそこアクセスがある。見た感じ、サイト内を巡回してコンテンツを取得し、フォーム内容を解析して、スパム投稿するタイプのよう。
ユーザエージェントやアクセス元は、バラエティーに飛んでいて、リファラもこのサイト内のものなので、一意に弾くことは難しい。画像等を読み込んでないので、かろうじてロボットと推定しているのだが。
ま、でも、先日の外部スクリプトからクッキーを書き込ませ、投稿時そのクッキーがなければ拒否するという方法は、かなり、効果的なようで、現在、… more »
Apache2でのPHPスクリプトのコンテントネゴシエーション
December 11th, 2005先日、このブログの
http://www.xdelta.net/blog/FreeBSD/2005/12/09/p54
に、Apache2のコンテントネゴシエーションを使用して、PHPスクリプトに対して拡張子を含まないURIでアクセスした場合、リクエストヘッダにAccept: */*などとワイルドカードの指定がないと、
406 Not Acceptable
というエラーが返されると書いた。
サーバ側で.phpの拡張子の扱いが、application/x-httpd… more »
New pear bootstrap code
December 10th, 2005archivers/pear-Archive_Tar
devel/pear-Console_Getopt
devel/pear-PEAR
devel/pear-XML_RPC
devel/php4-pear
が
devel/pear
で統合されたので、
# pkg_delete -f /var/db/pkg/pear-* /var/db/pkg/php4-pear-*
# portinstall devel/pear
としておき、依存するものを構築し直した… more »
406 Not Acceptable
December 9th, 2005サーバのログを見てると、406という奇妙なエラーが出ている。どうやら、
HTTP Error 406 Not acceptable Explained
にあるように、クライアント側がAcceptヘッダにMIMEタイプを明示してリクエストしてきた時、サーバが適切なコンテンツを見付けられなかった場合に発生するらしい。
通常、Webブラウザは、どのデータも受け取れるように、
Accept: */*
などワイルドカードを付けてリクエストしてくる場合が多いけど、例えば、サー… more »
