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をパッケージとしてインストールしていませんでした。
参考リンク
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
-
?>
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メッセージは、表示されます。