更改数据库后 TYPO3 网站无法运行
TYPO3 website doesn't work after changing db
我想复制我的 TYPO3 CMS 6.2.18 网站 - 我目前所做的:
- 复制了整个网站文件夹(包括 TYPO3 安装)
- 复制了整个数据库(使用新名称)
- 为复制的数据库创建了一个新的数据库用户
- 根据新的 DB+User
相应地调整了文件 /typo3conf/LocalConfiguration.php
现在我在调用我复制的 TYPO3 网站的不同 url 时收到以下错误:
当我尝试从安装工具 /typo3/install 内部调用 "Upgrade Wizard" 时(这是当前唯一可用的页面):
#1: PHP Warning: count(): Parameter must be an array or an object that implements Countable in /var/www/vhosts/<my-domain>/typo3/sysext/install/Classes/Service/SqlSchemaMigrationService.php line 409
当我打电话时 <my-domain>/typo3
#1: PHP Warning: count(): Parameter must be an array or an object that implements Countable in /var/www/vhosts/<my-domain>/typo3/sysext/backend/Classes/Utility/BackendUtility.php line 3022
4 count(NULL)
...
/var/www/vhosts/<my-domain>/typo3/sysext/backend/Classes/Utility/BackendUtility.php:
03020: $signals = array();
03021: $modData = $GLOBALS['BE_USER']->getModuleData('TYPO3\CMS\Backend\Utility\BackendUtility::getUpdateSignal', 'ses');
03022: if (!count($modData)) {
03023: return '';
03024: }
当我打电话时 <my-domain>
#1: PHP Warning: count(): Parameter must be an array or an object that implements Countable in /var/www/vhosts/<my-domain>/typo3/sysext/core/Classes/Database/PreparedStatement.php line 582
...after calling...
TYPO3\CMS\Core\Database\PreparedStatement::convertNamedPlaceholdersToQuestionMarks("SELECT * FROM fe_session_data WHERE hash = :hash", array, array)
我感兴趣的是:
复制网站后,副本有效,仅在将其引用到复制的数据库后,它才显示这些错误。
有人知道我能做什么/正在寻找什么吗?
我尝试删除所有缓存、安装工具 "Cleanup" 部分中显示的所有表格以及 typoe3temp 文件夹中的所有文件。
所以,正如我在评论中所说的那样。可能是 PHP 版本的问题,因为所有提到的错误(实际上是警告 ;))反映了不兼容的 PHP 代码。
解决方法很简单,根据 TYPO3 的需要切换 PHP 版本:)
我想复制我的 TYPO3 CMS 6.2.18 网站 - 我目前所做的:
- 复制了整个网站文件夹(包括 TYPO3 安装)
- 复制了整个数据库(使用新名称)
- 为复制的数据库创建了一个新的数据库用户
- 根据新的 DB+User 相应地调整了文件
/typo3conf/LocalConfiguration.php
现在我在调用我复制的 TYPO3 网站的不同 url 时收到以下错误:
当我尝试从安装工具 /typo3/install 内部调用 "Upgrade Wizard" 时(这是当前唯一可用的页面):
#1: PHP Warning: count(): Parameter must be an array or an object that implements Countable in /var/www/vhosts/<my-domain>/typo3/sysext/install/Classes/Service/SqlSchemaMigrationService.php line 409
当我打电话时 <my-domain>/typo3
#1: PHP Warning: count(): Parameter must be an array or an object that implements Countable in /var/www/vhosts/<my-domain>/typo3/sysext/backend/Classes/Utility/BackendUtility.php line 3022
4 count(NULL)
...
/var/www/vhosts/<my-domain>/typo3/sysext/backend/Classes/Utility/BackendUtility.php:
03020: $signals = array();
03021: $modData = $GLOBALS['BE_USER']->getModuleData('TYPO3\CMS\Backend\Utility\BackendUtility::getUpdateSignal', 'ses');
03022: if (!count($modData)) {
03023: return '';
03024: }
当我打电话时 <my-domain>
#1: PHP Warning: count(): Parameter must be an array or an object that implements Countable in /var/www/vhosts/<my-domain>/typo3/sysext/core/Classes/Database/PreparedStatement.php line 582
...after calling...
TYPO3\CMS\Core\Database\PreparedStatement::convertNamedPlaceholdersToQuestionMarks("SELECT * FROM fe_session_data WHERE hash = :hash", array, array)
我感兴趣的是:
复制网站后,副本有效,仅在将其引用到复制的数据库后,它才显示这些错误。
有人知道我能做什么/正在寻找什么吗?
我尝试删除所有缓存、安装工具 "Cleanup" 部分中显示的所有表格以及 typoe3temp 文件夹中的所有文件。
所以,正如我在评论中所说的那样。可能是 PHP 版本的问题,因为所有提到的错误(实际上是警告 ;))反映了不兼容的 PHP 代码。
解决方法很简单,根据 TYPO3 的需要切换 PHP 版本:)