株式会社ITコア
トップ
会社概要
お問い合わせ・ご相談
個人情報保護方針
ISMAP対応
PHP8移植サービス by itcore
サービス概要
一部プログラム移植
移植プロセス
お奨めプラットフォーム
PHPバージョン推移
サポート期限
バージョン非互換
サービス概要 先頭
PHP5などの古いPHPアプリケーションを最新のPHP8に移植します。
プラットフォームもAWSに移設が可能です。
お問い合わせはこちらへ
※作業は全てリモートを条件といたします。オンラインミーティングは可能です。
一部プログラム移植 先頭
例えば、ログイン、TOP、検索、登録などの画面を実際にPHP8に移植することで、
技術的な実現可能性、難易度、作業工数などを検証します。
移植プロセス 先頭
移植プロセスは次の工程で行います。
1.PHP8環境構築
2.一部プログラム移植
3.見積もり提示
4.テスト仕様書作成
5.プログラム移植&テスト
6.本番システム入れ替え
■リスク管理
5と6の工程を一定のユニット単位に分割し、スパイラル的に実施します。
ユニット単位で検証を行っていただき、ボタンの掛け違いがおきないようにします。
■コスト削減
現在使用していない機能をなくすことで、移植コストを削減することができます。
軽微な不具合修正は社内人材の余剰リソースで対応するというアプローチも効果的です。(レクチャーやサポートも可能です)
お奨めプラットフォーム 先頭
PHPバージョン推移 先頭
PHPはWeb専用の言語として生まれ、日本でもPHP3の頃から普及し始めました。
php4では機能や性能も向上し、yahooや楽天市場が採用するなどして、Webシステムに広く普及しました。
SIベンダーは重厚で堅牢なJavaを用いることが多いですが、
軽量で生産性の高いPHPは消費者向けのWebサービスとして現在も多く活用されています。
ユニコード対応のPHP6の開発がつまづき、一時期PHPの勢いが衰えたこともありましたが、
SNSアプリや掲載ゲームが流行ったことでPHPの勢いが復活し、PHP5のシステムが多く開発されました。
その後、PHP7を経て現在はPHP8が最新のバージョンとなっています。
PHP5は既にサポート切れになっているのですが、
コストや技術の問題でPHP5のまま稼働しているシステムが少なくありません。
PHP5のままでは以下のような問題があります。
■問題点
1.セキュリティのリスクが高い
2.新しい機能が使えない
3.新しいプラットフォームで動かない
PHPサポート期限 先頭
バージョン | 最新 | 初回リリース日 | セキュリティ サポート期限
|
---|
8 | 8.1 | 2020-11-26 | 2024-11-25
|
7 | 7.4 | 2015-12-03 | 2022-11-28
|
5 | 5.6 | 2004-07-13 | 2018-12-31
|
4 | 4.4 | 2000-05-22 | 2008-08-07
|
3 | 3.0 | 1998-06-06 | 2000-10-20
|
バージョン非互換 先頭
- 配列リテラルを用いてクラスのプロパティに配列を設定した場合、配列のキーが上書きされない
- json_decode() が、より厳格に
- ストリームラッパーが、SSL/TLS を使っている場合のピア証明書とホスト名の検証にデフォルトで対応
- GMP リソースがオブジェクトに
- Mcrypt 関数は、有効なキーと IV を要求する
- cURL でのファイルアップロード
- エラーや例外の取り扱いの変更
- 変数の取り扱いの変更
- foreach の変更
- int の取り扱いの変更
- 文字列の取り扱いの変更
- 削除された関数
- 削除された INI 項目
- 下位互換性のないその他の変更
- 関数に渡す引数が少ない場合の挙動
- スコープを調べる関数の動的呼び出しの禁止
- クラス、インターフェイス、トレイトに使えない名前
- 数値形式文字列の変換が科学記法に対応
- mt_rand() のアルゴリズムの修正
- rand() と srand() が、 それぞれ mt_rand() と mt_srand() のエイリアスとなる ¶
- ASCII 制御文字 delete は識別子として使えない
- error_log に syslog を指定した場合の変更
- 未完成のオブジェクトのデストラクタは呼び出されない
- 参照渡しの引数の call_user_func() での扱い
- 文字列における空のインデックス演算子はサポートしない
- 空文字列に対して、文字列インデックス経由で値を設定する操作
- 削除された INI 項目
- 参照による代入で自動的に作られる配列の要素の並び順の変更
- 同値な要素の並び順
- E_RECOVERABLE エラーのエラーメッセージ
- unserialize() 関数の $options パラメータ
- DateTime クラスのコンストラクタに、マイクロ秒も組み込まれる
- 致命的なエラーが Error 例外に変換される
- 字句的に束縛される変数は、名前を再利用できない
- long2ip() のパラメータタイプの変更
- JSON のエンコードとデコード
- mb_ereg() および mb_eregi() 関数の引数のセマンティクスの変更
- sslv2 ストリームのサポートの削除
- 戻り値の型が決まっている関数で "return;" と書いてもコンパイルエラーになる
- number_format() は負のゼロを返さない
- オブジェクトと配列の型変換における数値キーの扱い
- get_class() に null を渡せない
- countable ではない型をカウントしたときの警告
- ext/hash がリソースからオブジェクトへ
- SSL/TLS のデフォルトの改善
- gettype() にクローズ済みのリソースを渡した際の戻り値
- is_object() と __PHP_Incomplete_Class
- 定義されていない定数のエラーレベル変更
- Windows サポート
- trait のプロパティの値チェック
- object をクラス名に使う
- NetWare サポート
- array_unique() 関数を SORT_STRING と使う場合
- bcmod() の小数点に対する挙動変更
- ハッシュ関数と非暗号化ハッシュ
- json_decode() 関数のオプション
- rand() と mt_rand() の出力
- sql.safe_mode のini設定削除
- date_parse() と date_parse_from_format() 関数への変更
- 外部から入力されるCookie
- ヒアドキュメント/Nowdoc の終了ラベルの解釈
- switch の制御フローを変更する continue 文は警告が出る
- ArrayAccess を実装したオブジェクトに対する、 数値形式の文字列キーの解釈が厳密に
- static なプロパティが参照の代入によって分裂しなくなっ
- 配列から返される参照とプロパティのアクセスは、即座に分割される
- Traversable への引数のアンパックを整数でないキーで行うことはサポートされない
- その他雑多な変更
- BCMath
- IMAP, POP3 および NNTP
- マルチバイト文字
- MySQL 改良版拡張モジュール
- MySQL関数 (PDO_MYSQL)
- リフレクション
- Standard PHP Library (SPL)
- SimpleXML
- 外部から入力されるCookie
- 配列でない値を配列スタイルでアクセスした場合
- get_declared_classes() 関数
- fn キーワー
- ファイルの最後の <?php タグ
- ストリームラッパー
- シリアル化
- パスワードアルゴリズムの定数
- htmlentities() 関数
- fread() および fwrite() 関数
- BCMath
- CURL
- 日付と時刻
- Intl
- MySQLi
- OpenSSL
- Regular Expressions (Perl互換)
- PDO
- リフレクション
- Standard PHP Library (SPL)
- Tokenizer
- 外部から入力されるCookie
- 文字列と数値の比較
- その他の下位互換性のない変更
- リソースからオブジェクトへの移行
- COM および .Net (Windows)
- CURL
- 日付と時刻
- DOM
- Enchant
- Exif
- フィルタ
- GD
- GMP
- Iconv
- IMAP
- 国際化関数
- LDAP
- マルチバイト文字列
- OCI8
- ODBC
- OpenSSL
- 正規表現 (Perl互換)
- PHP Data Objects
- PDO ODBC
- PDO MySQL
- PostgreSQL
- Phar
- リフレクション
- Sockets
- Standard PHP Library (SPL)
- 標準ライブラリ
- Sysvsem
- Tidy
- Tokenizer
- XMLReader
- XML-RPC
- Zip
- Zlib
- Windows の PHP Test Packs
- $GLOBALS へのアクセス制限
- リソースからオブジェクトへの移行
- MySQLi
- MySQLnd
- OpenSSL
- PHP Data Objects(PDO)
- MySQL ドライバ
- SQLite ドライバ
- Phar
- Standard
- Standard PHP Library (SPL)
先頭
ITCORE 2025