PHPのXMLWriterを使って、電子国土Webシステムで利用できる点型と線型XMLデータを出力してみました。

(続きを読む »)

PHP4.4.8をソースからインストールしたときのエラーとその回避方法です。

make installしたところ、次のようなエラー(抜粋)がでました。

chmod: cannot access `/usr/local/apache2/modules/libphp4.so'

php4 apxs:Error: Command failed with rc=65536

make: *** [install-sapi] エラー 1

最初、.conigureを次のようにしていました。

./configure \
--with-apxs2=/usr/local/apache2/bin/apxs \
--with-mysql=/usr/mysql \
--with-config-file-path=/etc/php \
--enable-mbstring \
--with-zlib \
--with-gd \
--with-libmbfl \
--enable-pcntl \
--with-openssl \
--with-jpeg-dir=/usr/local/lib \
--with-png-dir=/usr/lib \
--with-dom \
--enable-exif \
--enable-mbregex \
--without-pear \
--enable-gd-native-ttf \
--with-freetype-dir=/usr/lib/ \
--with-gmp \
--enable-bcmath \
--enable-ftp

下記、参考リンクのページを参考に、.configureに–prefix=/usr/local/phpを指定しました。
すると、make installでエラーはでず、インストールできました。
いろいろ試したので、–prefixの指定でエラー回避となったのかどうかは、不明です。

./configure \
--prefix=/usr/local/php \
--with-apxs2=/usr/local/apache2/bin/apxs \
--with-mysql=/usr/mysql \
--with-config-file-path=/etc/php \
--enable-mbstring \
--with-zlib \
--with-gd \
--with-libmbfl \
--enable-pcntl \
--with-openssl \
--with-jpeg-dir=/usr/local/lib \
--with-png-dir=/usr/lib \
--with-dom \
--enable-exif \
--enable-mbregex \
--without-pear \
--enable-gd-native-ttf \
--with-freetype-dir=/usr/lib/ \
--with-gmp \
--enable-bcmath \
--enable-ftp

インストール環境は、VMWareのCentOS4.4です。
PHPやapacheをパッケージとしてインストールしていませんでした。

参考リンク
2008年2月10日

PHPスクリプトにブレークポイントを設定して、ステップ実行できれば何かと便利です。
LinuxサーバーのPHPウェブページをWindowsクライアントからリモートデバッグする環境(Xdebug,PDT)を作ってみます。

まず、Xdebugをインストールします。

Linux(CentOS 4.3)マシンにインストールしているapacheとPHPのバージョンは、次の通りです。

  • apache 2.2.0
  • PHP 5.2.3

(両方ともソースからインストールしています。)

Xdebugは、バージョン2.0.2をインストールします。

インストール前の確認

php-configとphpizeが必要とのことで、パスが通っているか見てみます。

# which php-config
# which phpize

php-configとphpizeは、PHPをソースからインストールしたため(?)か、インストールされていました。

インストール手順

インストールは、Xdebug: Documentationの「Installation From Source」の手順を参考にして、次のように行いました。

Xdebugのインストール
# cd /usr/local/src
# tar xvzf xdebug-2.0.2.tgz
# cd xdebug-2.0.2
# phpize
 Configuring for:
 PHP Api Version:         20041225
 Zend Module Api No:      20060613
 Zend Extension Api No:   220060519
# ./configure --enable-xdebug
# make
# cp -i modules/xdebug.so /usr/local/apache2/modules/
php.iniの編集

php.iniに次を追加。

zend_extension="/usr/local/apache2/modules/xdebug.so"
apacheの再起動
# service httpd restart
確認

Xdebugがインストールされたか確認します。

# php -m
 [Zend Modules]
 Xdebug

phpinfoでも確認できます。

phpinfo.php

PHP:
  1. <?php
  2. ?>

PDTのインストールと設定は、次回投稿予定。

リンク

UTF-8のHTMLページを表示できる端末用の携帯サイトを作成したときに参考になりました。

各社のXHTML情報ページへのリンク

.htaccessの設定で、Strict Standardsメッセージを表示しないようにするメモです。
display_errorsがオンの場合、Strict Standards以外のサポートされる全てのエラーと警告は、表示されます。

PHPのバージョンが5.2より前の場合
php_value error_reporting 2047
PHPのバージョンが5.2.xの場合
php_value error_reporting 6143
PHPのバージョンが5.3以降、6より前の場合
php_value error_reporting 8191

PHPのバージョンが6の場合、E_STRICTが含まれるそうなので、Strict Standardsメッセージは、表示されます。

参考

エラー処理およびログ記録関数
エラー処理およびログ記録関数 - PHPプロ!マニュアル