Strato 网站空间上的 Mediawiki 升级允许使用比 5.3 更新的 PHP 版本

Mediawiki upgrade on Strato webspace to allow use of PHP version newer than 5.3

我目前正在尝试将不同的旧 mediawiki 版本(1.19、1.21)升级到更新的版本,因为 Strato 不再支持 PHP 版本 5.3。

这些 mediawiki 安装最初是使用 Strato 应用程序向导安装的,目前将安装 mediawiki 1.23.14。

我知道以下信息:

a.) Strato 关于应用更新的说明 (只有德文,没有关于mediawiki更新的说明)

https://www.strato.de/faq/article/2193/So-nehmen-Sie-ein-manuelles-Update-Ihrer-AppWizard-Anwendung-vor.html

b.) Mediawiki 更新指南

https://www.mediawiki.org/wiki/Manual:Upgrading

c.) 不同 mediawiki 和 PHP 版本之间的兼容性 table (因为我目前的需求只是迁移到更新的 PHP 版本,Starto 仍然支持该版本)

https://www.mediawiki.org/wiki/Compatibility/de#PHP

有没有人有在 Strato 进行 mediawiki 升级的经验?有没有更简单的升级方法,例如使用应用程序向导?

mediawiki 目录中,编辑您的 .htaccess。这对您的 wiki 中的 php-version 负责。 您可以将文件的内容更改为:

AddType application/x-httpd-php71 .php .php4 .php3 .php5 .php71

接下来,要升级您的 Mediawiki 版本,请下载最新的 mediawiki-xyz.tar.gz 并将其复制到 Strato 上的 temp 目录(我为此使用了 filezilla)

假设新的 Mediawiki 版本是 1.29 并且你在 strato 的 mediawiki 目录是 mediawiki-01:

建立到 Strato 的 ssh 连接(我使用 Putty)并在命令行执行

tar xzf temp/mediawiki-1.29.1.tar.gz -C mediawiki-01/ --strip-components=1

然后更新您的新安装:

cd mediawiki-01/maintenance
php update.php

我今天使用描述的方法成功了,但没有任何承诺或保证。在升级之前进行备份可能是个好主意。

由于 hirnfred 的回答给出了一些有用的提示,但对我不起作用,因此附上了一个简短的要点列表,列出了允许我在 Strato 升级 Mediawiki 的步骤。该解决方案的主要思想是使用内置的 AppWizard 安装新的 wiki,然后将内容移至 wiki。

  • 使用应用程序向导安装新的 wiki
  • 将修改(例如访问限制、图标路径等)从旧 LocalSettings.php 文件复制到新 LocalSettings.php 文件
  • 如果适用,将旧图像复制到新 wiki:

    cd wiki_old
    tar czvf images.tgz images/
    mv wiki_old/images.tgz wiki_new
    cd ../wiki_new
    tar xzvf images.tgz
    
  • 使用旧数据库自动生成的 sql 备份,让我们检查一下哪些可用(使用 ssh 连接):

    mysqlbackups Uxxxxxx_old
    
  • 转储旧备份

    mysqldump --add-drop-table -h mysql_30.08.2017-21:00 -u Uxxxxxx_old -p DBxxxxxx_old> mysql_30.08.2017-21:00.sql
    

    (提示密码可在旧LocalSettings.php文件中找到)

  • 从新的 sql 数据库中删除表格。使用 phpmyadmin、select "Struktur"-"selecte all" - "delete"

  • 通过 Strato Web 界面访问数据库
  • 将 SQL 数据复制到新数据库。新密码可以在新的 LocalSettings.php 文件中找到:

    mysql -h rdbms -u Uxxxx_new -pxxxxxxx_new DBxxxx_new < mysql_30.08.2017-21:00.sql
    
  • 通过 ssh 执行 php 更新,在 wiki_new/maintenance:

    php update.php 
    

希望对您有所帮助。