菜单

typo3 upgrade issue

2013年06月26日 - typo3

If you want to upgrade typo3 to 4.6 or 4.7, there maybe is a strange issue broken your upgrade.

File: t3lib/class.t3lib_autoloader.php->createCoreAndExtensionRegistry

$classRegistry = array_merge($classRegistry, require($extensionAutoloadFile));

Because some of error ext_autoload.php in Extensions. It will attack array_merge.

Solution is:

if(is_array(require($extensionAutoloadFile))){
    $classRegistry = array_merge($classRegistry, require($extensionAutoloadFile));
}

If always error, remark the lines like pic and run, then rollback.

Experience:
1. typo3 4.6, 4.7 auto extension load有bug, array_merge要判断is_array, 否则白屏
2. felogin插件不兼容, Add ts的code不要加trim.
3. md5登录auth修改
4. $this->LOCAL_LANG取语言方法兼容性修改, value为array, source, target
5. 4.7开始数据库强制set names utf8; 为了兼容可把这个强制性去掉. config_default.php里面修改.
6. 4.4->4.7先4.4->4.5然后4.5->4.7
7. Templavoila, DAM需要升级,否则出现异常
8. 如果某些ajax 500 error, 可尝试TS: no_cache=1
9. t3lib_htmlmail发邮件方法在4.7己废弃, 发送失败, newsletter内嵌images功能需要fix.>>己用新方法t3lib_mail_Message解决, demo see below.
10. 有时候install进不去,可能是localconf.php中setMemoryLimit太小了。可删除限制。

Demo:

$mail = t3lib_div::makeInstance('t3lib_mail_Message');
            $mail->setFrom(array($sender => $sender_name));
            $mail->setReplyTo($reply_to);
            $mail->setTo($row['email']);
            $mail->setSubject($subject);

            $body = 'Any html code!';

            preg_match_all("/\embed(Swift_Image::fromPath($src));
                    if($cid){
                        $body = str_replace($src, $cid, $body);
                    }
                }
            }
            $mail->setBody($body, 'text/html', 'utf-8');
            $mail->send();

Typo3 6.2 for windows plugin manager:


ThreadStackSize 8388608

发表评论

电子邮件地址不会被公开。 必填项已用*标注