hi there,

WP Migrate 7.x-2.0
Drupal 7.16
Migrate 7.x-2.5-rc1
Migrate Extras 7.x-2.4

select a (valid) wrx xml file (approx. 5.5MB) to upload
choose the default import options,
the plugin uploads the file (verified by checking the private file directory),
however the page returns blank and there is no record of having gone through the selection and upload process.

this is critical for me to solve as I have a large site to migrate asap.
Dave

CommentFileSizeAuthor
#5 WPMigrate_WSOD.txt6.41 KBdavemurphy

Comments

ksenzee’s picture

One thing to try is configuring your site to use Drush import instead of Batch API, per the instructions at http://drupal.org/node/1593478.

davemurphy’s picture

hi ksenzee,

many thanks for your reply and advice.
My ISP doesn't allow shell access so Drush isn't an option for me.

I've installed Devel and opened the variable editor.
However, the variable wordpress_migrate_import_method doesn't seem to be listed. Indeed none of the variables here:
http://drupal.org/node/1593478
are listed. Other user/node specific wordpress migrate variables are available.

any ideas?
cheers
rgds Dave

mikeryan’s picture

Category: bug » support
Priority: Critical » Normal
Status: Active » Postponed (maintainer needs more info)

It's impossible to give any specifics on what's going wrong from the information provided. Some thoughts:

  • How have you verified that the WXR is valid? Have you run it through xmllint? The WordPress exports historically have generated bad XML, particularly when there are embedded CDATA elements. Some people have reported success with running their exports through xmllint before uploading.
  • Please try the latest 7.x-2.x-dev release of wordpress_migrate, which has worked around some of the problems with bad XML.
  • You're getting the infamous WSOD (white screen of death) before the progress screen comes up? Check your watchdog (/admin/reports/dblog) to see if any errors were logged there. Also, if you can, check the web server log for any PHP errors that might have ended up there.
davemurphy’s picture

hi Mike,

thanks for looking into this.
I validated the WXR file with xmllint and there were no errors.
I've installed the 7.x-2.x-dev version of Wordpress Migrate and I'm getting the same results.
When I press the button (Import Wordpress blog) the system uploads the WXR file and then it returns a white window, so WSOD for that page. I can navigate to another page and Drupal functions as normal.
There's no php error showing up in /admin/reports/dblog.

When I checked the error logs on the web server it has the following error:
PHP Fatal error: Call to undefined method XMLReader::readString() in /usr/local/pem/vhosts/108129/webspace/httpdocs/ifut/sites/all/modules/wordpress_migrate/wordpress.inc on line 205,

Also, I reproduced the WSOD again and this time had the devel log running - I've attached the log file.
cheers
rgds Dave

davemurphy’s picture

StatusFileSize
new6.41 KB
mikeryan’s picture

Status: Postponed (maintainer needs more info) » Active

That fatal error is the explanation - it appears the XMLReader extension is not enabled in PHP on your webserver. As the manual page says, it should be enabled by default, so it would seem your ISP expressly disabled it?

We can (and should) make XMLReader an installation requirement for wordpress_migrate. In the meantime, if you can't get the extension enabled on the server, wordpress_migrate will not work for you.

mikeryan’s picture

Title: Nothing imported » Fatal error when XMLReader extension is not installed
Category: support » bug
davemurphy’s picture

hi Mike,

I ran phpinfo() and it returns the following for the XMLReader:

XMLReader: enabled

so it doesn't appear that this is the issue. I'll trawl through the logs and see if there is anything else that might help.
rgds Dave

davemurphy’s picture

Priority: Normal » Critical

hi Mike,

PHP versions:
PHP Version 5.2.17
PHP libXML Version 2.6.16
PHP libxml2 Version 2.6.16
PHP XMLReader - enabled

Drupal versions:
Drupal core 7.16
Migrate 7.x-2.5-rc1
Migrate Extras 7.x-2.5-rc1
WordPress Migrate 7.x-2.1-rc1+1-dev (2012-Oct-18)

others checked:
Drupal Cache cleared
Permissions checked

are there any other dependencies that I should look at?
cheers
rgds Dave

mikeryan’s picture

Per http://us1.php.net/manual/en/xmlreader.readstring.php, XMLReader::readString is only available with libxml 20620 (2.6.20) or later, you're on 2.6.16. The comments there have a work-around, I'll see if I can implement that.

mikeryan’s picture

Priority: Critical » Normal
Status: Active » Fixed

OK, I've committed both a requirements check that XMLReader is enabled, and a work-around for the lack of readString, you can pull it from git now or wait until the -dev release is rebuilt.

davemurphy’s picture

hi Mike,

I installed WordPress Migrate 7.x-2.1-rc1+13-dev (2012-Oct-26) and it uploaded the WXR file.
It then began the parsing and extraction.

While parsing it threw an error for every entry in the blog roll:
1 Informational Undefined property: stdClass::$tag_value File /usr/local/pem/vhosts/108129/webspace/httpdocs/ifut/sites/all/modules/wordpress_migrate/wordpress_item.inc, line 782(file: /usr/local/pem/vhosts/108129/webspace/httpdocs/ifut/sites/all/modules/wordpress_migrate/wordpress_item.inc, line 782)
1 Error array_diff(): Argument #1 is not an array File /usr/local/pem/vhosts/108129/webspace/httpdocs/ifut/sites/all/modules/wordpress_migrate/wordpress_item.inc, line 782

should I file this as a new issue??
(thanks for your work on this to date btw!)
cheers
rgds Dave

mikeryan’s picture

That wouldn't have anything to do with the XMLReader issue - but it may be a consequence of #1785980: Tags/categories import fail, let's pick it up there.

davemurphy’s picture

Status: Fixed » Closed (fixed)

agreed Mike,

closing the issue as fixed.
tnx again!
rgds Dave

davemurphy’s picture

Issue summary: View changes

typo