Ticket #1869 (closed バグ指摘: 修正済)
ファイル管理> PHP5.4環境下でシステムエラー
| Reported by: | shutta | Owned by: | shutta |
|---|---|---|---|
| Priority: | 中 | Milestone: | EC-CUBE2.12.1 |
| Component: | 管理画面 | Version: | 2.12.0 |
| Keywords: | Cc: | ||
| 修正済み: | yes |
Description
コミュニティーにて下記報告を頂いた。
[PHP5.4]コンテンツ機能>ファイル管理にてエラー
PHP5.4.3にてeccube2.11.5を使用しています。
管理画面「コンテンツ機能」⇒「ファイル管理」を開こうとすると
Fatal error: Cannot re-assign auto-global variable _POST in /home/xxxxx/data/class/pages/admin/contents/LC_Page_Admin_Contents_FileManager.php on line 286
とエラーが表示されます。
PHP5.4から、関数のパラメータにスーパーグローバル変数と同名を使用することができないよう変更されている事が原因です。
参照:https://bugs.php.net/bug.php?id=54657
当方、下記のようにソースコードを修正して動作する事を確認済みです。
(LC_Page_Admin_Contents_FileManager.php L.286 & L.287)
// function createSetParam($_POST) {
function createSetParam($fnc) {
// $setParam = $_POST;
$setParam = $fnc;
関数の呼び出し元が正しく$_POSTを渡していないとエラーが出る恐れがあるかもしれませんが、目視で確認した限りでは大丈夫に見受けられました。
eccube 2.12.0の当該ソースも拝見しましたが、同様の記載がありますので、上記対応にて問題ないようであれば、同様の修正されたほうがよろしいのではないかと思います。
Change History
comment:1 Changed 14 years ago by shutta
- Owner changed from somebody to shutta
- Status changed from new to assigned
Note: See
TracTickets for help on using
tickets.

r21922 にて修正。