Tagged ‘PHP5’

DNRH-001にPHP5

チカッパ!がPHP5に対応した。
自宅サーバー(DNRH-001)も開発が終了したPHP4を続けていく訳にはいかないのでPHP5に切り替える事にした。

まずは現状を把握しておいて。

# rpm -qa|grep php
php-domxml-4.4.8-0vl1
php-pear-4.4.8-0vl1
php-apache2-4.4.8-0vl1
php-mysql-4.4.8-0vl1
php-4.4.8-0vl1
php-devel-4.4.8-0vl1
php-mcrypt-4.4.8-0vl1

一個一個削除(一気にやったら「~必要とされています」が出たので・・・)
最後にphpとphp-pearを一気に削除した。

# rpm -e php-domxml
# rpm -e php-apache2
# rpm -e php-mysql
# rpm -e php-devel
# rpm -e php-mcrypt
# rpm -e php php-pear

インストールはがさっとやってみた。(php-domxmlはPHP5に含まれたらしいので除外)

# apt-get install -y php5 php5-apache2 php5-devel php5-pear php5-mcrypt

MYSQLもバージョンアップしようと思ったらすでにMYSQL5だったのでphp5-mysqlだけインストール。

# apt-get install -y php5-mysql

結果はこんな感じ、

# rpm -qa|grep php
php5-5.2.6-2vl4
php5-pdo-5.2.6-2vl4
php5-pear-5.2.6-2vl4
php5-devel-5.2.6-2vl4
php5-apache2-5.2.6-2vl4
php5-mysql-5.2.6-2vl4
php5-mcrypt-5.2.6-2vl4

あとは前回同様にPEARのMailを入れた。

当然の様に今までのプログラムはエラー出まくり。
クラスがpublicとprivateが設定できるようになり基本的にprivateになったので必要なところをpublicにして直したが他にもエラーが出てると思ったら、注意だった。
なぜかエラー表示の設定が変わった様だ。
php.ini

error_reporting = E_ALL

error_reporting = E_ALL & ~E_NOTICE

にすると大体は動くようになったが、問題はXMLを何で管理していくかだ。
PHP5は大きく中身が変わったDOM、人気があるっぽいsimple_xml、大規模向けなSAXと3つの選択肢があるらしい。
まあ、今度考える事にするか

PHP5になりたい

b5scripts065.jpgPHP4で開発していて「これって簡単に出来る関数ないかな?」と思ってネットを検索するとPHP5のみ対応みたいな記事をよく見るようになってきた。
今回作ってるスクリプトは心躍る!期間限定激安高校「大特価情報部」を更新する際に「本当に安いのか」を調べる為、複数の価格比較サイトを行き来して調査してたんだけど結構面倒なんで、複数の価格比較サイトの情報を一括して検索できないかと考えて作ってたんだけどget_headersっていうページヘッダの情報を得る関数を使おうと思ったらPHP5専用だった。
個人用なんでスクリプトはどこに置いても問題ないんで、DNRH-001その3でPHP4をインストールしてしまったのをPHP5に置き換えようとしてみたが他のソフトとのかねあいで弾かれてしまった。
PHP4とPHP5を安全に共存させる方法ってのを見て共存の道を探してみたがどうもハードルが高かそうなので諦めた。
今借りてるサーバーでPHPが使えないか調べたところココ(XREA)にはCGI版が入ってるらしい
PHPをCGIとして動かす方法についてにそのやり方が載っていた。拡張子をcgiに変更する必要も無く「#!/usr/local/bin/php」を入れる必要も無いとすごく楽。
やってみたらすんなり動いた。
http://uda2.com/blog/price/
CGI版は遅いと聞いていたけど元々重いのであんまり差は分からなかった。
XREAはたま~にページが表示できませんになったりするけど開発者には優しいな。