Just to furnish more information, initially I thought it was a RAM issue (256MB) so I tried a new installation on a 512MB VPS from the same provider, Atlantic.net. The virtualisation techique is KVM and should not experience the OpenVZ RAM issues.
However, the same issue persists. It’s a fresh installation of WordPress on top of Virtualmin.
The strange thing is that I tried the same configuration from another VPS provider, DigitalOcean, and everything zips just fine.
However, Ubuntu is configured a little differently between the two providers. Thus, I think some package may be missing on the Ubuntu packages from Atlantic.net.
Thus, my question is: What Linux/Ubuntu packages are required for zipping to work?
Well, I found the problem. I was using a 32-bit image on Atlantic.net and a 64-bit image on DigitalOcean. When I tried a 32-bit image of 14.04 on DigitalOcean I get the same issue as well.
Thus, it seems that UpdraftPlus doesn’t work on 32-bit versions of Ubuntu 14.04? Is there any way to make it work out of the box?
Hi,
Interesting, thank you. What’s logged in the PHP error log at the time that it crashes?
David
Well, it seems to show ‘Abort class-pclzip.php : Missing zlib extensions’ at the top of the page after enabling PHP logging.
Thank you.
That’s interesting. class-pclzip.php doesn’t come into it with binary zip (which just calls /usr/bin/zip) – but it suggests something related. Both, under the hood, likely are linking to a zlib library which you haven’t yet got installed on the system. Though, that’s also a bit puzzling, as WordPress needs some zip functionality to unpack a plugin (unless you installed it manually). Perhaps PHP’s ZipArchive uses something else. Not sure. But anyway, if zlib’s not installed, then you’ll need the UPDRAFTPLUS_NOBINZIP defined, to skip on to trying ZipArchive as the next option.
Best wishes,
David
Thank you.
Now I have narrowed down the problem to the lack of ‘gzopen’ on Ubuntu 14.04 x32.
I followed your instructions in another post and added this into wpconfig:
function gzopen( string $filename , $mode, $use_include_path = 0 ) { return gzopen64($filename, $mode, $use_include_path); }
However, now I’m getting another error:
0000.000 (0) Opened log file at time: Fri, 12 Dec 2014 01:34:42 +0000 on http://128.199.136.57
0000.005 (0) UpdraftPlus WordPress backup plugin (http://updraftplus.com): 1.9.42 WP: 4.0.1 PHP: 5.5.9-1ubuntu4.5 (Linux buyfromwhere.com 3.13.0-37-generic #64-Ubuntu SMP Mon Sep 22 21:30:01 UTC 2014 i686) MySQL: 5.5.40-0ubuntu0.14.04.1 Server: Apache/2.4.7 safe_mode: 0 max_execution_time: 900 memory_limit: 256M (used: 1.2M | 1.3M) multisite: N mcrypt: N LANG: C ZipArchive::addFile: Y
0000.008 (0) Free space on disk containing Updraft's temporary directory: 16199.9 Mb
0000.017 (0) Tasks: Backup files: 1 (schedule: unset) Backup DB: 1 (schedule: unset)
0000.020 (0) Requesting semaphore lock (fd)
0000.026 (0) Semaphore (fd) was stuck, set lock time to 2014-12-12 01:34:42
0000.030 (0) Semaphore (fd) reset to 1
0000.034 (0) Set semaphore last lock (fd) time to 2014-12-12 01:34:42
0000.037 (0) Semaphore lock (fd) complete
0000.048 (0) Backup run: resumption=0, nonce=00841c1037c4, begun at=1418348082 (0s ago), job type=backup
0000.051 (0) Scheduling a resumption (1) after 300 seconds (1418348382) in case this run gets aborted
0000.057 (0) Checking if we have a zip executable available
0000.060 (0) Testing: /usr/bin/zip
0000.068 (0) Output: zip warning: binziptest/test.zip not found or empty
0000.071 (0) Output: adding: binziptest/subdir1/ (in=0) (out=0) (stored 0%)
0000.074 (0) Output: adding: binziptest/subdir1/subdir2/ (in=0) (out=0) (stored 0%)
0000.076 (0) Output: adding: binziptest/subdir1/subdir2/test.html (in=127) (out=105) (deflated 17%)
0000.078 (0) Output: total bytes=127, compressed=105 -> 17% savings
0000.084 (0) Output: adding: binziptest/subdir1/subdir2/test2.html (in=134) (out=109) (deflated 19%)
0000.088 (0) Output: total bytes=261, compressed=214 -> 18% savings
0000.091 (0) Working binary zip found: /usr/bin/zip
0000.095 (0) Zip engine: found/will use a binary zip: /usr/bin/zip
0000.097 (0) Creation of backups of directories: beginning
0000.102 (0) Beginning creation of dump of plugins (split every: 500 Mb)
0000.118 (0) Total entities for the zip file: 81 directories, 463 files (0 skipped as non-modified), 10.4 Mb
0000.125 (0) Zip: backup_2014-12-12-0134_BuyFromWhere_00841c1037c4-plugins.zip.tmp: 100 files added (on-disk size: 0 Kb)
0000.133 (0) Zip: backup_2014-12-12-0134_BuyFromWhere_00841c1037c4-plugins.zip.tmp: 200 files added (on-disk size: 0 Kb)
0000.140 (0) Zip: backup_2014-12-12-0134_BuyFromWhere_00841c1037c4-plugins.zip.tmp: 300 files added (on-disk size: 0 Kb)
0000.147 (0) Zip: backup_2014-12-12-0134_BuyFromWhere_00841c1037c4-plugins.zip.tmp: 400 files added (on-disk size: 0 Kb)
0001.313 (0) backup_2014-12-12-0134_BuyFromWhere_00841c1037c4-plugins.zip.tmp: size is now: 3.30 Mb
0001.337 (0) Created plugins zip (0) - 3393.4 Kb in 1.2 s (2757.3 Kb/s) (SHA1 checksum: 7eb9bf5cfff8ba887527e35fa8b3952164af0769)
0001.341 (0) Beginning creation of dump of themes (split every: 500 Mb)
0001.349 (0) Total entities for the zip file: 25 directories, 161 files (0 skipped as non-modified), 1.9 Mb
0001.352 (0) Zip: backup_2014-12-12-0134_BuyFromWhere_00841c1037c4-themes.zip.tmp: 100 files added (on-disk size: 0 Kb)
0001.465 (0) backup_2014-12-12-0134_BuyFromWhere_00841c1037c4-themes.zip.tmp: size is now: 1.40 Mb
0001.479 (0) Created themes zip (0) - 1468.9 Kb in 0.1 s (10808.6 Kb/s) (SHA1 checksum: acd35e706a478a32d7fe2a221fd76220313764d5)
0001.483 (0) Exclusion option setting (uploads): backup*,*backups,backwpup*,wp-clone
0001.485 (0) Looking for candidates to back up in: /var/www/html/wp-content/uploads
0001.486 (0) finding files: 2014: adding to list (1)
0001.487 (0) Beginning creation of dump of uploads (split every: 500 Mb)
0001.491 (0) Total entities for the zip file: 2 directories, 6 files (0 skipped as non-modified), 0.9 Mb
0001.543 (0) backup_2014-12-12-0134_BuyFromWhere_00841c1037c4-uploads.zip.tmp: size is now: 0.90 Mb
0001.553 (0) Created uploads zip (0) - 922.1 Kb in 0.1 s (14404.9 Kb/s) (SHA1 checksum: 25984dd326dae3a7b569c14c9d587e88a28916c0)
0001.555 (0) Beginning backup of other directories found in the content directory (index: 0)
0001.557 (0) Exclusion option setting (others): upgrade,cache,updraft,backup*,*backups
0001.558 (0) Looking for candidates to back up in: /var/www/html/wp-content
0001.559 (0) finding files: upgrade: skipping: excluded by options
0001.561 (0) finding files: index.php: adding to list (1)
0001.561 (0) finding files: uploads: skipping: this is the uploads directory
0001.562 (0) finding files: plugins: skipping: this is the plugins directory
0001.563 (0) finding files: themes: skipping: this is the themes directory
0001.564 (0) finding files: updraft: skipping: this is the updraft directory
0001.569 (0) Total entities for the zip file: 0 directories, 1 files (0 skipped as non-modified), 0 Mb
0001.573 (0) backup_2014-12-12-0134_BuyFromWhere_00841c1037c4-others.zip.tmp: size is now: 0.00 Mb
0001.577 (0) Created others zip (0) - 0.2 Kb in 0 s (18 Kb/s) (SHA1 checksum: 5ea98b6182e615ca242b08142d10e7c601290260)
0001.582 (0) Saving backup status to database (elements: 8)
0001.626 (0) Beginning creation of database dump (WordPress DB)
0001.629 (0) Testing: /usr/bin/mysqldump
0001.638 (0) Working binary mysqldump found: /usr/bin/mysqldump
0001.646 (0) Table wp_options: Total expected rows (approximate): 134
0001.670 (0) Table wp_options: Total rows added: 148 in 0.02 seconds
0001.673 (0) Table wp_options: finishing file (backup_2014-12-12-0134_BuyFromWhere_00841c1037c4-db-table-wp_options.table.gz - 85.3 Kb)
0001.678 (0) Table wp_users: Total expected rows (approximate): 1
0001.680 (0) Table wp_users: Total rows added: 1 in 0.00 seconds
0001.682 (0) Table wp_users: finishing file (backup_2014-12-12-0134_BuyFromWhere_00841c1037c4-db-table-wp_users.table.gz - 0.5 Kb)
0001.686 (0) Table wp_usermeta: Total expected rows (approximate): 18
0001.687 (0) Table wp_usermeta: Total rows added: 18 in 0.00 seconds
0001.689 (0) Table wp_usermeta: finishing file (backup_2014-12-12-0134_BuyFromWhere_00841c1037c4-db-table-wp_usermeta.table.gz - 1 Kb)
0001.694 (0) Table wp_commentmeta: Total expected rows (approximate): 0
0001.695 (0) Table wp_commentmeta: Total rows added: 0 in 0.00 seconds
0001.697 (0) Table wp_commentmeta: finishing file (backup_2014-12-12-0134_BuyFromWhere_00841c1037c4-db-table-wp_commentmeta.table.gz - 0.3 Kb)
0001.702 (0) Table wp_comments: Total expected rows (approximate): 1
0001.704 (0) Table wp_comments: Total rows added: 1 in 0.00 seconds
0001.705 (0) Table wp_comments: finishing file (backup_2014-12-12-0134_BuyFromWhere_00841c1037c4-db-table-wp_comments.table.gz - 0.6 Kb)
0001.710 (0) Table wp_links: Total expected rows (approximate): 0
0001.712 (0) Table wp_links: Total rows added: 0 in 0.00 seconds
0001.714 (0) Table wp_links: finishing file (backup_2014-12-12-0134_BuyFromWhere_00841c1037c4-db-table-wp_links.table.gz - 0.4 Kb)
0001.718 (0) Table wp_postmeta: Total expected rows (approximate): 7
0001.720 (0) Table wp_postmeta: Total rows added: 7 in 0.00 seconds
0001.722 (0) Table wp_postmeta: finishing file (backup_2014-12-12-0134_BuyFromWhere_00841c1037c4-db-table-wp_postmeta.table.gz - 0.8 Kb)
0001.727 (0) Table wp_posts: Total expected rows (approximate): 7
0001.729 (0) Table wp_posts: Total rows added: 7 in 0.00 seconds
0001.732 (0) Table wp_posts: finishing file (backup_2014-12-12-0134_BuyFromWhere_00841c1037c4-db-table-wp_posts.table.gz - 1.6 Kb)
0001.737 (0) Table wp_term_relationships: Total expected rows (approximate): 2
0001.739 (0) Table wp_term_relationships: Total rows added: 2 in 0.00 seconds
0001.741 (0) Table wp_term_relationships: finishing file (backup_2014-12-12-0134_BuyFromWhere_00841c1037c4-db-table-wp_term_relationships.table.gz - 0.3 Kb)
0001.745 (0) Table wp_term_taxonomy: Total expected rows (approximate): 1
0001.747 (0) Table wp_term_taxonomy: Total rows added: 1 in 0.00 seconds
0001.749 (0) Table wp_term_taxonomy: finishing file (backup_2014-12-12-0134_BuyFromWhere_00841c1037c4-db-table-wp_term_taxonomy.table.gz - 0.4 Kb)
0001.755 (0) Table wp_terms: Total expected rows (approximate): 1
0001.757 (0) Table wp_terms: Total rows added: 1 in 0.00 seconds
0001.758 (0) Table wp_terms: finishing file (backup_2014-12-12-0134_BuyFromWhere_00841c1037c4-db-table-wp_terms.table.gz - 0.4 Kb)
0001.763 (0) backup_2014-12-12-0134_BuyFromWhere_00841c1037c4-db-table-wp_options.table.gz (1/11): adding to final database dump
0001.764 (0) PHP event: code E_RECOVERABLE_ERROR: Argument 1 passed to gzopen() must be an instance of string, string given, called in /var/www/html/wp-content/plugins/updraftplus/backup.php on line 1199 and defined (line 16, wp-config.php)
Any idea what’s wrong?
Hi,
You need to remove the word “string” from the first parameter here:
function gzopen( string $filename , $mode, $use_include_path = 0 ) { return gzopen64($filename, $mode, $use_include_path); }
After you installed Ubuntu 32-bit, did you update it to the latest packages? I believed that the defect in PHP in the initial Ubuntu release (the missing gzopen function) got fixed in an update.
David
Yes, I did run apt-get update, apt-get upgrade and apt-get dist-upgrade immediately after the image was created, but the same issue persists.
I guess for my low memory VPSes I have to use Debian x86 instead. I don’t know if it’s too much trouble for you to add in extra code just to support Ubuntu x86.
Removing string seems to have done the trick though. Thank you!
Hi,
I’d much prefer that Ubuntu were pressured to fix their bug – because this affects multiple PHP projects, not just UpdraftPlus (every PHP project using the gzopen() function): https://bugs.launchpad.net/ubuntu/+source/php5/+bug/1315888
Best wishes,
David
You could point out to them that the upstream PHP bug was finally fixed a few weeks ago – https://bugs.php.net/bug.php?id=53829 – so, they just need to roll in the fix to their PHP build.
David