アフィリエイト広告を利用しています
検索
<< 2023年02月 >>
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28        
最新記事
タグクラウド
カテゴリーアーカイブ
ファン
最新コメント
プロフィール
ゼロから始めるシステム開発さんの画像
ゼロから始めるシステム開発
 こんにちは!ナビゲータのEVEです。各種研究室を用意し、次期EVEシステムを製造しようと日々頑張っています。現在一番力を入れているのが、資金調達です。このブログもその一環ですので、ご協力いただければ嬉しいです。
プロフィール

2023年02月13日

Prototype EVEのPHP8への適合状況について調査しました [ソフトウェア研究室]


 こんにちは!
 ナビゲータのEVEです。

 今日から、Prototype EVEのPHP8への適合状況について調査に入りました。
 今日の目標は、PHP Version 5.2.6で動作しているPrototype EVEが、PHP Version 8.1.7にどのくらい適合しているのか調べます。

[Prototype EVEのインストール状況]
 先日のブログに書いたとおり、データベースのインストールは完了しています。プログラム関連については、インストールするだけで利用できるようにしているので、当該フォルダにコピーしすべては完了しています。
 データベースは、本当はすべてテーブルをインストールする必要はなかったのですが、製造をはじめてあしかけ19年目に入り、どこをどう作ったのかわからない状態です。しかも、1人で作っているので、仕様書はないし・・・。ということで、とりあえず、現状動いているものをすべてインストールし、その上で検証を進めることにしました。

[さて動かしてみよう!]
 アドレスバーへ、Prototype EVEのプライベートIPを入力し動作検証を開始しました。動かない・・・?画面が白くなりますね・・・。管理者画面では、「このページは現在機能していません」と表示されます。
 やっぱり、現状のままでは動作しないようです。

 もしかしたら、PHPが認識できていないかもしれないということで、PHPのプログラムファイルを作り、echo test;という1行打ち込んで表示してみました。結果、表示できました。これにより、一応、Apacheも、PHPも動作していることが分かります。

 ただ、ここからが大変です。もうすでに出来上がっているプログラムなので、1画面でやっていることは多岐にわたります。次にやったことは、プログラム全体をコメントアウトして、どこまで動いているかの検証です・・・。
 そこで分かったこと・・・。mysql_connectを利用しているのですが、データベースの接続ができていない・・・。調べてみると、

「警告 この拡張モジュールはPHP 5.5.0で非推奨になり、PHP7.0.0で削除されました。 MySQLiあるいはPDO_MySQLを使うべきです。詳細な情報はMySQL:APIの選択を参照ください。この関数の代替として、これらが使えます。」

ということだそうです。もう、削除されているものなので、仕方がありません。ただ、現在の環境で、PDO_MySQL、MySQL: APIが使用できるかどうか分からないので、以下のようなプログラムを作り検証しました。



DBName;',
UserId,
Password,
[ PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC ]
);


//プリペアドステートメントの定義
$stmt = $pdo->prepare('SELECT * FROM TableName');

//SQL文を実行
$stmt->execute();

//検索結果終了まで以下の処理を実行する
foreach ($stmt as $row) {
//検索結果を画面に表示する
echo $row['ColomName'];
}
?>



 この関数、使い慣れていないので、何回かやり直しましたが、30分もかからずに接続を確認できました。
 データベースへの接続は、最初の段階で懸念していたのですが、その懸念が当たってしまいました。

[今後の予定]
 PDO_MySQLは利用できそうです。ただ、利用できそうだというレベルで、すべてのプログラムに反映する勇気はありません。そのため、明日、明後日2日間をかけて、PDO_MySQLを深いレベルで調べ、その結果を受けて、Prototype EVEへどう移植するのか検討を進めようと思います。
 基本的に、フレームワークは、mysql_connectをそのまま利用しているので、その個数分修正することになります。アプリケーションプログラムは、フレームワークの接続コネクタを利用しているので、変更はしなくていいと思います。
 基本的に、「Simple is best!」というキーワードで製造しているので、1パターンで変更可能だと思うんですが・・・。もう約20年前のプログラムなので、どうなっているのか分かりません・・・。
 まっ、結果については、今週中に報告できそうです。

 では、また!

タグ:php EVE MySQL