Category: PHP

PHP 5.2.1

February 11th, 2007
portsの方の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, 2006
portsnap(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, 2006
PHPの拡張モジュールであるgraphics/pecl-imagickのportが更新。 ImageMagickから枝分かれした、GraphicsMagickのライブラリを使用することが出来るようになった(標準では、GraphicsMagickが選択される)。 どちらを選んでも構わないのだが、現在のところ、ImageMagickのライブラリを使用したimagick.soをロードしていると、 <?php   phpinfo(); ?> が正… more »

FreeBSD上のPHPで、データのシリアル化を高速化する方法

February 16th, 2006
Installing 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, 2005
archivers/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 »