将silverstripe站点从一台服务器迁移到另一台服务器

将silverstripe站点从一台服务器迁移到另一台服务器,silverstripe,Silverstripe,我想对客户端服务器上的Silver stripe项目进行一些更改。我想在我的服务器上获取项目,这样我就可以对生产环境进行更改 到目前为止,我所尝试的: 导出mysql数据库并将其导入本地mysql服务器 在本地安装新的空白silverstripe项目 将客户端公用html文件夹中的所有文件复制并替换到新的本地silverstripe项目文件夹中 将mysite/_config.php文件更改为指向新数据库 当我尝试silverstripe/project/dev/build/?flush=我

我想对客户端服务器上的Silver stripe项目进行一些更改。我想在我的服务器上获取项目,这样我就可以对生产环境进行更改

到目前为止,我所尝试的:

  • 导出mysql数据库并将其导入本地mysql服务器
  • 在本地安装新的空白silverstripe项目
  • 将客户端公用html文件夹中的所有文件复制并替换到新的本地silverstripe项目文件夹中
  • 将mysite/_config.php文件更改为指向新数据库
当我尝试silverstripe/project/dev/build/?flush=我得到的全部:

Fatal error: Uncaught exception 'Exception' with message 
'There are two files containing the "ReportAdmin" class:
"/var/www/silverstripe//reports/code/ReportAdmin.php" and 
"/var/www/silverstripe//cms/code/controllers/ReportAdmin.php"

任何帮助都将不胜感激,谢谢

您正在同时运行两个SilverStripe安装。ReportAdmin在3.2中被分解为自己的模块。在<3.2中,ReportAdmin与CMS捆绑在一起


当你说“在本地安装新的SilverStripe项目”时,你可能只是在使用最新的稳定版本。找出当前站点正在运行的版本,并明确安装它,例如,
composer create project silverstripe/installer myproject/3.1.19

您正在运行两个并行安装的silverstripe。ReportAdmin在3.2中被分解为自己的模块。在<3.2中,ReportAdmin与CMS捆绑在一起


当你说“在本地安装新的SilverStripe项目”时,你可能只是在使用最新的稳定版本。找出当前站点正在运行的版本并明确安装,例如,
composer create project silverstripe/installer myproject/3.1.19

感谢您的回复!该站点的版本是3.1.15,所以我安装了该版本,现在得到了一个不同但类似的错误:未捕获的异常“exception”,消息是“有两个文件包含“Page”类:“/var/www/silverstripe//mysite/code/Page.php”和“/var/www/silverstripe//mysite/code/PageTypes/Page.php”mysite/Page是安装blank SilverStripe时的默认文件,您可以删除它或将其重命名为其他文件扩展名(例如/mysite/Page.php_orig)删除mysite/code/Page.php,然后运行dev/build?flush worked!非常感谢你们,谢谢你们的回复!该站点的版本是3.1.15,所以我安装了该版本,现在得到了一个不同但类似的错误:未捕获的异常“exception”,消息是“有两个文件包含“Page”类:“/var/www/silverstripe//mysite/code/Page.php”和“/var/www/silverstripe//mysite/code/PageTypes/Page.php”mysite/Page是安装blank SilverStripe时的默认文件,您可以删除它或将其重命名为其他文件扩展名(例如/mysite/Page.php_orig)删除mysite/code/Page.php,然后运行dev/build?flush worked!非常感谢你们。这个项目是git的吗?如果是的话,你很幸运。检查它,运行composer instal和sync DB/assets。它使用composer吗?如果是,您需要composer.json和composer.lock来获取dev机器上安装的所有模块。对于同步数据库/资产,有一个名为的工具,它可能会帮助您。不幸的是,我只获得了一个cPanel托管服务的登录名,必须从那里获取所有文件和导出。没有作曲家帮助构建它,只有文件。但通过你自己和我的努力,我终于成功了!谢谢啊,那些没有作曲家的项目是最好的。你们不知道什么隐藏的宝石(读:有人改变了模块的代码,但并没有记录)等着你们。因此,当您切换到composer来管理依赖项时,需要仔细测试它。在更新代码库时祝你好运。项目是否在git中?如果是的话,你很幸运。检查它,运行composer instal和sync DB/assets。它使用composer吗?如果是,您需要composer.json和composer.lock来获取dev机器上安装的所有模块。对于同步数据库/资产,有一个名为的工具,它可能会帮助您。不幸的是,我只获得了一个cPanel托管服务的登录名,必须从那里获取所有文件和导出。没有作曲家帮助构建它,只有文件。但通过你自己和我的努力,我终于成功了!谢谢啊,那些没有作曲家的项目是最好的。你们不知道什么隐藏的宝石(读:有人改变了模块的代码,但并没有记录)等着你们。因此,当您切换到composer来管理依赖项时,需要仔细测试它。更新代码库时祝您好运。