PHPcms バックグラウンドでロールの権限を設定する場合、上記のようにデフォルトのサイトをクリックすると 500 エラーが発生します。
通常の状況では、下の図のようになります。正常に動作していましたが、何らかの理由で突然動作しなくなりました。アドバイスをいただけますか。 ?どうしたの?
そのリクエストには重大な構文エラーがあります。ブレークポイントを設定して
を確認してください。このリクエストによって呼び出されるファイルはローカルのものと同じです。構文エラーがある場合、なぜローカルにあるのですか。 1つは正常で、サーバー上の1つは異常ですか?
エラーを参照してください。
foreach までプログラムが実行されてもエラーは報告されません。
foreach ($result as $n=>$t) {
$result[$n]['cname'] = L ($t[ 'name'],'',$modules);
$result[$n]['checked'] = ($this->op->is_checked($t,$_GET[' roleid'], $siteid, $priv_data))? ' チェック済み' : ''; $result[$n]['level'] = $this->op->get_level($t['id) '],$ result);
$result[$n]['parentid_node'] = ($t['parentid']) ' class="child-of-node-'.$t['parentid' ].'" ' : '';
}
foreach の後にプログラムが実行されると 500 エラーが報告される
つまり、foreach にはエラーがありますが、実際にはエラーは報告されませんforeach ループが 500 エラーを引き起こす仕組みを理解してください。
エラーメッセージを出さなければ、神も助けてはくれない
ローカル側は正常だがサーバー側が異常である場合、それはプログラムに文法的な欠陥があるということだけを意味しますエラーはありますが、論理エラーがないことを意味するわけではありません
たとえば、0 による除算、不正な変数値、フィールドが見つかりません。 。 。 。
これは PHP のバージョンと構成にも関係します
フォルダーの読み取りおよび書き込み権限、パス、PHP のバージョン、PHP 環境設定、サーバー ソフトウェアの違いなどがエラーの原因となる可能性があります
現在、PHPCMS の基礎となるコードを使用していますが、その権限管理部分に非常に低レベルのエラーがあります。
/modules/admin/classes/role_op.class.php
最後のメソッドは、現在のボタンを移動するときにその前のレベルを見つける必要があります。見つからない場合は、現在のメソッドを再度呼び出します。したがって、メニューが増えると直接死ぬ可能性があります。