PHP5に移行してログイン出来なくなったら。
以前はログインできていたZenCartの管理画面に、以下のようなエラーが出てログインできなくなった。
Fatal error: Call to a member function Execute() on a non-object in /○○○○/public_html/zencart/includes/functions/strict_sessions.php on line 66
考えられる要因は、使用しているレンタルサーバがPHP4 → PHP5 に強制的に切り替わったこと。
上記エラーで調べたところ下記の対処法を発見。
includes/functions/strict_sessions.php の55行目
—
【修正前】
function _sess_write($key, $val) {
global $db;
global $SESS_LIFE
【修正後】
function _sess_write($key, $val) {
// The following is only to work around a PHP 5.2.0 bug:
global $db; if (!is_object($db)) {
//PHP 5.2.0 bug workaround …
$db = new queryFactory();
$db->connect(DB_SERVER, DB_SERVER_USERNAME, DB_SERVER_PASSWORD, DB_DATABASE, USE_PCONNECT, false);
}
global $SESS_LIFE;
—
エラーに遭遇した環境:バージョン)
- ZenCart 1.3.0.2-l10n-jp-2
- MySQL 4.0.24
- PHP 5.2.6
参考サイト)
- php5の環境でzen cartをインストールすると出るエラー NIPPON MODE BGS WORKS (2008/1/25)
- ZenCartでログイン画面に入れない みんなでねっと!のブログ(2008/8/25)