ホーム > フォーラム > 質問箱 > XCL2.2(Pack 2012) > php7環境で、xoopsのモジュールアクセス権限が500エラーで変更できない

php7環境で、xoopsのモジュールアクセス権限が500エラーで変更できない
投稿者: yoshi34 | 投稿日時: 2018/8/3 16:21 | 閲覧: 4480回
yoshi34

先日はDBバージョン変更に伴う質問でお世話になりました。その節はありがとうございました。
お陰様でxoopsサイト全て順調に稼働していたのですが、標記の問題が発生しました。またお力をお貸しいただければと思います。

新規にインストール、または既にインストールされているモジュールのアクセス権限を変更しようとすると500エラーが発生します。

phpデバグにて取得したエラーログは以下の通りでした。

Fatal [PHP]: Uncaught Error: [] operator not supported for strings in /home/(xoops trust pathへのアドレス)/libs/altsys/include/mygroupperm.php:91 Stack trace: #0 /home/(xoops trust pathへのアドレス)/libs/altsys/class/MyBlocksAdmin.class.php(1041): include() #1 /home/(xoops trust pathへのアドレス)/libs/altsys/myblocksadmin.php(57): MyBlocksAdmin->processPost() #2 /home(xoops trust pathへのアドレス)/modules/gnavi/admin.php(40): include('/home/(xoops trust pathへのアドレス)/...') #3 /home/ユーザー名/www/公開側ルートディレクトリ/modules/products/admin/index.php(10): require('/home/(xoops trust pathへのアドレス)/...') #4 {main} thrown in file (trust)/libs/altsys/include/mygroupperm.php line 91 (1)

サーバー情報など

Distribution : XOOPS X(ten) 20180208
XC Legacyバージョン : XOOPS Cube Legacy 2.2.3 Beta 1
使用言語 : ja_utf8
オペレーティングシステム : FreeBSD
サーバー : Apache
PHPバージョン : 7.2.7
MySQLのバージョン : 5.5.59-log

※mysqlが5.7.21 の環境でも問題が再現します。
※php7.19でも問題が再現します
※xoopsはホダ塾ディストリビューションからアップグレードしたもの、2018年2月に新規インストールしたもの、全てにおいて問題が発生します。(全てxoops x です)

試しにサーバーのphpバージョンを一時的に5.6に戻したところ
正常に権限変更が出来ました。

できればphp7のままですべてのサイトを運用したいのですが、うまく修復できる方法やアドバイスを頂ければと思います。
どうかよろしくお願いいたします。

コメント(4)

Re: php7環境で、xoopsのモジュールアクセス権限が500エラーで変更できない 
投稿者: pcboy | 投稿日時: 2018/8/11 6:58
pcboy

yoshi34さん、こん**はpcboyです。

最新のXOOPS X 自体はPHP7に対応しているので、
エラーログから以下の二つのモジュールのPHP7対応に問題があるのではないかと推測されます。
modules/gnavi
modules/products

ただし、gnaviモジュールはX-Updateモジュールから最新版に更新できますし、たぶん、PHP7に対応済だと思います。
productsモジュールのPHP7対応を確認されると良いと思います。

以上。
#少しでも、お役に立てば幸いです。
#では、また。

#21597 | | 返信する |
Re: php7環境で、xoopsのモジュールアクセス権限が500エラーで変更できない 
投稿者: yoshi34 | 投稿日時: 2018/8/13 7:32 | 親コメント: #21597
yoshi34

pcboyさん返信ありがとうございます。

エラーログはほんの一例で、最初の記事冒頭に書いた通り

「新規にインストール、または既にインストールされているモジュールのアクセス権限を変更しようとすると500エラーが発生します。」

今のところ、全てのモジュールに関して権限変更時に500エラーが発生している状態です。
一部のサイトで(複数サイトを運営中)古いモジュールの削除などメンテナンスもしたのですが症状変わりません。
ちなみに「product」というモジュールはGNAVIの名称変更したもののことです。
もちろん、x-updateですべて最新版に更新済みです。

引き続き、何か情報ございましたら是非ご教授下さい。

Re: php7環境で、xoopsのモジュールアクセス権限が500エラーで変更できない 
投稿者: nao-pon | 投稿日時: 2018/9/26 21:38 | 親コメント: #21598
nao-pon

yoshi34 さん、こんにちは。

$msg が定義されていない場合のエラーですね。

取り急ぎ、/libs/altsys/include/mygroupperm.php 57行目の "$gperm_handler = xoops_gethandler('groupperm');" の前に次のコードを挿入してみてください。

1
2
3
    if (!isset($msg) || !is_array($msg)) {
        $msg = array();
    }
Re: php7環境で、xoopsのモジュールアクセス権限が500エラーで変更できない 
投稿者: yoshi34 | 投稿日時: 2018/10/4 11:36 | 親コメント: #21599
yoshi34

nao-ponさん、いつもありがとうございます。
記事の確認を怠っておりまして返事が遅くなり申し訳ありません。
只今、テストサイトにて、教えて頂いた処理を施したところ正常動作するようになりました!問題なくモジュールのアクセス権限を変更できるようになりました。
本当にありがとうございました。
これから、管理しているサイト全てに処理を施します。
また何かあればこちらのスレッドにご報告いたします。
取り急ぎお礼とご報告でした。

引用:
yoshi34 さん、こんにちは。

$msg が定義されていない場合のエラーですね。

取り急ぎ、/libs/altsys/include/mygroupperm.php 57行目の "$gperm_handler = xoops_gethandler('groupperm');" の前に次のコードを挿入してみてください。

1
2
3
    if (!isset($msg) || !is_array($msg)) {
        $msg = array();
    }

    投票(0)

    新しいものから | 古いものから | RSS feed
     
    To Top