Possible solution:
Here is the error that I was getting when WPAU version 1.2.1 (the latest) tried to upgrade Wordpress 2.6 to 2.6.1:
Warning: copy(/xxxx/xxxx/xxxx/xxxx/index.php.wpau.bak) [function.copy]: failed to open stream: Permission denied in /xxxx/xxxx/xxxx/xxxx/wp-content/plugins/wordpress-automatic-upgrade/wpau_upgrade.class.php on line 357
We could not complete the upgrade please try again later, click here to check the logs.
When I looked at the logs I saw this:
Task Name: maintmode
Task Description: Puts the site into maintenance mode
Task Status: Failed
Task Start Date: 2008-08-15 15:23:12
Task End Date: 2008-08-15 15:23:12
Task Log:
Putting the site into maintenance mode /xxxx/xxxx/xxxx/xxxx/wp-content/plugins/wordpress-automatic-upgrade
Copying /xxxx/xxxx/xxxx/xxxx/index.php to /xxxx/xxxx/xxxx/xxxx/index.php.wpau.bak
** SOLUTION (worked for me) **
Delete the index.php.wpau.bak file from your Wordpress base directory. The problem is apparently that the index.php.wpau.bak file was left over from a previous upgrade and WPAU could not override it, even though it had my proper FTP credentials.
If that does not work then try this solution *** AT YOUR OWN RISK ***
*** !!DISCLAIMER!! - I did what I'm about to describe on one of my sites and it worked. Everything seems to be fine now. BUT I MAKE NO PROMISES ***
The problem that I was having on another site is the same one that I just described. I was getting this error when trying to go into maintenance mode:
Warning: copy(/xxxx/xxxx/xxxx/xxxx/index.php.wpau.bak) [function.copy]: failed to open stream: Permission denied in /xxxx/xxxx/xxxx/xxxx/wp-content/plugins/wordpress-automatic-upgrade/wpau_upgrade.class.php on line 357
We could not complete the upgrade please try again later, click here to check the logs.
The problem was that something was going wrong with the initial preliminary check (I.e., I knew that WPAU needed my FTP credentials, but the check was insisting that I did not.) I played around with the code but was not smart enough to figure out why the check was saying that it did not need my credentials (I'm not a coder). So I just changed one word in the code to make it require my credentials. It's not pretty, but it worked:
1. Open up wpau_prelimcheck.class.php
2. Scroll down to the FTPPrelimChecks function. The code is on line 98, and it will look like this:
function runFTPPrelimChecks() {
3. Scroll down to the bottom of that function where you see this:
if($chmod) {
return true;
}
4. Change the word "true" to "false" (without the quotes). This causes the preliminary check to "fail" even if it thinks the files are writable. Then you can put in your FTP credentials and continue.
**NOTE: The second solution did generate some more permissions errors, but they were all in the preliminary check, and they did not affect the update or any of my files as far as I can tell. But again, I'm not a coder, so do it at your own risk.**