martes, 23 de septiembre de 2014

MediaWiki Error: “Parse error: syntax error, unexpected T_NAMESPACE, expecting T_STRING


After upgrading my PHP to 5.3.2, I received the following error when accessing MediaWiki (1.6.12):
Parse error: syntax error, unexpected T_NAMESPACE, expecting T_STRING in /usr/local/www/apache22/data/wiki/includes/Namespace.php  on line 46
There are three solutions:
  1. Downgrade your PHP from 5.3 back to 5.2
  2. Upgrade your MediaWiki to a newer version.
  3. Fix the codes.
In my case, the first couple solutions do not work for me, and therefore I choose 3.
  1. Backup your wiki file first.
  2. Access your webserver and go to the MediaWiki/includes directory.
    For example:
    cd /usr/local/www/apache22/data/wiki/includes
  3. Edit Namespace.php
    nano Namespace.php
  4. Go to line 46, change the following from:
    class Namespace {
    to:
    class MWNamespace {
    Save the file.
  5. Now, let’s create a script:
    nano wikifix.sh
    Copy and paste the following:

    for fl in *.php; do
    mv $fl $fl.old
    sed 's/Namespace::/MWNamespace::/g' $fl.old > $fl
    done
    Save the file.
  6. Change the file to executable by:
    chmod u+x wikifix.sh
  7. Search the keyword Namespace:: and replace it by MWNamespace:::
    ./wikifix.sh
    Warning: Don’t run the script twice!
  8. Delete the script.
    rm wikifix.sh

No hay comentarios:

Publicar un comentario