Wiz PHP [ホームに戻る] [スレッド一覧] [新規投稿] [留意事項] [ワード検索] [管理用] [過去ログ] 記事閲覧
このスレッドは管理者からのメッセージです。

  • スレッド先頭部のまたはをクリックするとスレッド内の全記事を表示します。(はツリー表示)
  • 記事先頭の▼ △をクリックすると参照関係のある発言をその発言から(は下、は上) へツリー表示します。 
  • スレッド最終行のまたは最新発言のをクリックするとスレッドの全記事を降順に表示します。(はツリー表示)
  • 投稿に添付は添付ファイル付き   
  • 新着記事は new!
  • スレッド1:Wiz スケジューラー(グループウェア)と PHP ヴァージョンアップに伴うアプリの自動修正について] ナオヤM  2022/08/14 15:19   閲覧数: 31766
    No.1  [ Wiz スケジューラー(グループウェア)と PHP ヴァージョンアップに伴うアプリの自動修正について ②] ナオヤM  2022/08/17 09:56
    No.3  [PHP7.4 対応の 新 Wiz スケジューラー を VPS サーバーにインストールした時のエラー対策] ナオヤM  2022/08/31 06:57
    No.2  [ Wiz スケジューラー(グループウェア)の PHP ヴァージョンアップ前後のスクリプト] ナオヤM  2022/08/17 11:47
    No.4  [ Re: Wiz スケジューラー(グループウェア)の PHP ヴァージョンアップ前後のスクリプト] ナオヤM  2022/12/02 16:07


    ◆ 選択されたスレッドの部分ツリーを順に表示 (全部表示中)  戻る  逆順に表示

    スレッド1: Wiz スケジューラー(グループウェア)と PHP ヴァージョンアップに伴うアプリの自動修正について ATOM1.0 RSS2.0 RSS1.0 FEEDアイコン
    No.1: Wiz スケジューラー(グループウェア)と PHP ヴァージョンアップに伴うアプリの自動修正について ②
    日時: 2022/08/17 09:56
    名前: ナオヤM ID:jb/jW0RU メールを送信する
    参照: https://vmorita.com/bbs/wizphp/forum.shtml?room=wizphp

    PHP のバージョンが 7 になって WIZ を起動してみましたが全く動作しません。  ログインもできないので PHP の ディスプレーエラーを ONにして致命的エラーの内容を見てみると、関数 ereg(), ereg_replace()、split() ををそれぞれ preg 関連の関数に置換しなければいけないらしい。しかもこれらの ereg 関連の関数はそれらの第1引数で与える"正規表現"を preg 関数では "/正規表現/" のようにデリミターで囲んで渡さなければいけない、正規表現に使われる制御文字は \ でエスケープが必用、など結構大変です。 ほかにも、・関数に渡す引数は重複してはいけないなどの制約があり、また Fatal Error ではなく、Depreciated ですが宣言されたクラス名と同じ名前のメソッドのコンストラクターは別途 __construct__ 宣言が必用など変更箇所が続出して、とてもスクリプトを追っかけて一々修正していくのでは困難と思われました。

    そこで、それらの変更箇所を検索して、決まった手順で自動的に修正する PHP ソフトを作って見ることにしました。始めは一つひとつの項目を特定のファイルに適用し、それが上手くいくとディレクトリ全体、更には再帰的にプロジェクト全体に適用という風に徐々に増やして、複数項目を一挙に処理する様にしました。 こうして開発したアプリ修正ソフトを WIZ プロジェクトに適用した結果、夫々の項目毎に処理したファイルの合計が 103 ファイル、適用箇所は数百箇所以上に及び、WIZ_V1.42_with_task は PHP7.4 で一応動作するようになりました。 自動修正では処理し切れていない箇所もあると思いますが、思っていたより処理結果が良いようなのでここで発表することにしました。 残った問題点は追々検討することとして皆さんのご意見をお聞かせ下さい。

    自動修正ソフトは linux 上の WIZ がインストールされたサーバーの web root 以下に maintenance ディレクトリを作成し、その配下の index.html を、PC からブラウザでアクセスして処理するようにしています。 maintenance.tar.gz にはディレクトリと配下の index.html, phpupdate.php というアプリ自動修正ソフトと css, 画像データなどが一括して入っています。 linux サーバーなどにインストールしてお使いください。
    1. maintenance.tar.gz

    maintenance.tar.gz
    No.3: PHP7.4 対応の 新 Wiz スケジューラー を VPS サーバーにインストールした時のエラー対策   [No.1への返信]
    日時: 2022/08/31 06:57
    名前: ナオヤM ID:v0vXUs8A メールを送信する
    参照: http://viola.vmorita.com/bbs/wizphp/forum.shtml

    ● 上の記事で、筆者の独自 VPS にインストールした WIZ が最初うまく動作しませんでした。 PHP や PostgreSQL のパージョンは PHP7.4, PostgreSQL9.6 とターゲットどおりであるにも拘らずです。

    ● 理由は2つありました。 1つは最近の Apache5.4 (HTTPD) はハイ・トラフィックに適応するため、MPM (Multi Processing Module) のモードが以前の prefork ではなく、event になっていることに因ります。この変更により、PHP を実行するモジュールががアパッチの mod_php では無く php-fpm という別プロセスになったため、そのディレクトリのアパッチの挙動を決める .htaccess に PHP_flag や PHP_VLUE 等の記述があるとアパッチがエラーになるためです。 その為 .htaccess に記述されていた PHP の挙動に関する項目は、 .user.ini という別ファイルに php.ini と同じ記述形式で書き出す必用がありました。

    ● もう1つは、デフォルトではブラウザでアパッチをアクセスした時に実行するユーザ・グループが apache:apache で設定されていたり、PHP のセッション情報を格納するディレクトリ (/var/lib/php/session) の所要者が root:root でパーミッションが 755 になっていたりするからです。WIZ では社員情報をクッキーにしてユーザーに喰わせ、それをサーパー側ではセッション・ディレクトリに格納して処理しているようです。僕はセキュリティー上、アパッチの実行ユーザを apache ではなく www にしているので "chown -R root:www /var/lib/php/" 及び "Chmod -R g+w /var/lib/php" のコマンドを打って解決しました。

    皆さんのご参考になれば幸いです。           ナオヤM
    (全部表示中)  戻る  逆順に表示  スレッド一覧  新規スレッド作成