Jump to content

Error shown on upgrade page


ttttim
 Share

Recommended Posts

Hi,

I want to upgrade my 2.6 processwire to the new 2.71 but when i go to the upgrade page i get the following error message.

 Error loading GitHub branches https://api.github.com/repos/ryancramerdesign/Processwire/branches#0...'>https://api.github.com/repos/ryancramerdesign/Processwire/branches#0... 2 mins 
Error loading GitHub branches https://api.github.com/repos/ryancramerdesign/Processwire/branches#0 /mnt/webs/a1/32/54491832/htdocs/processwire/site/modules/ProcessWireUpgrade/ProcessWireUpgradeCheck.module(129): ProcessWireUpgradeCheck->getCoreBranches() #1 /mnt/webs/a1/32/54491832/htdocs/processwire/site/modules/ProcessWireUpgrade/ProcessWireUpgrade.module(164): ProcessWireUpgradeCheck->getVersions() #2 /mnt/webs/a1/32/54491832/htdocs/processwire/wire/core/ProcessController.php(213): ProcessWireUpgrade->execute() #3 [internal function]: ProcessController->___execute() #4 /mnt/webs/a1/32/54491832/htdocs/processwire/wire/core/Wire.php(387): call_user_func_array(Array, Array) #5 /mnt/webs/a1/32/54491832/htdocs/processwire/wire/core/Wire.php(325): Wire->runHooks('execute', Array) #6 /mnt/webs/a1/32/54491832/htdocs/processwire/wire/core/admin.php(93): Wire->__call('execute', Array) #7 /mnt/webs/a1/32/54491832/htdocs/processwire/wire/core/admin.php(93): ProcessController->execute() #8 /mnt/webs/a1/32/54491832/htdocs/processwire/wire/modules/AdminTheme/AdminThemeDefault/controller.php(13): require('/mnt/webs/a1/32...') #9 /mnt/webs/a1/32/54491832/htdocs/processwire/site/templates/admin.php(15): require('/mnt/webs/a1/32...') #10 /mnt/webs/a1/32/54491832/htdocs/processwire/wire/core/TemplateFile.php(169): require('/mnt/webs/a1/32...') #11 [internal function]: TemplateFile->___render() #12 /mnt/webs/a1/32/54491832/htdocs/processwire/wire/core/Wire.php(387): call_user_func_array(Array, Array) #13 /mnt/webs/a1/32/54491832/htdocs/processwire/wire/core/Wire.php(325): Wire->runHooks('render', Array) #14 /mnt/webs/a1/32/54491832/htdocs/processwire/wire/modules/PageRender.module(385): Wire->__call('render', Array) #15 /mnt/webs/a1/32/54491832/htdocs/processwire/wire/modules/PageRender.module(385): TemplateFile->render() #16 [internal function]: PageRender->___renderPage(Object(HookEvent)) #17 /mnt/webs/a1/32/54491832/htdocs/processwire/wire/core/Wire.php(387): call_user_func_array(Array, Array) #18 /mnt/webs/a1/32/54491832/htdocs/processwire/wire/core/Wire.php(325): Wire->runHooks('renderPage', Array) #19 /mnt/webs/a1/32/54491832/htdocs/processwire/wire/core/Wire.php(409): Wire->__call('renderPage', Array) #20 /mnt/webs/a1/32/54491832/htdocs/processwire/wire/core/Wire.php(409): PageRender->renderPage(Object(HookEvent)) #21 /mnt/webs/a1/32/54491832/htdocs/processwire/wire/core/Wire.php(325): Wire->runHooks('render', Array) #22 /mnt/webs/a1/32/54491832/htdocs/processwire/wire/modules/Process/ProcessPageView.module(187): Wire->__call('render', Array) #23 /mnt/webs/a1/32/54491832/htdocs/processwire/wire/modules/Process/ProcessPageView.module(187): Page->render() #24 [internal function]: ProcessPageView->___execute(true) #25 /mnt/webs/a1/32/54491832/htdocs/processwire/wire/core/Wire.php(387): call_user_func_array(Array, Array) #26 /mnt/webs/a1/32/54491832/htdocs/processwire/wire/core/Wire.php(325): Wire->runHooks('execute', Array) #27 /mnt/webs/a1/32/54491832/htdocs/processwire/index.php(241): Wire->__call('execute', Array) #28 /mnt/webs/a1/32/54491832/htdocs/processwire/index.php(241): ProcessPageView->execute(true) #29 {main}

Any ideas how to fix this problem? I know I can upgrade manually but i'd like to do it thought the admin area. 

Link to comment
Share on other sites

Have you tried again recently - that looks like it might simply be an access to Github error. The feed is certainly running right now so I would try again and if you still get the error, please check the URL directly to see if there is a problem at your end: https://api.github.com/repos/ryancramerdesign/Processwire/branches

Link to comment
Share on other sites

I'm just having the same problem.

I've just upgraded a website from 2.5.3 to 2.7.1.

But now, when going to Administration > Configuration > Upgrades, I have "The process returned no content." and "Error loading GitHub branches https://api.github.com/repos/ryancramerdesign/Processwire/branches".

I'll check again later.

If I go to Administration > Modules > Upgrades Checker and check for updates, I have "Error reported by web service: Unable to find that module".

If I do the same with "Upgrades", I don't have any error message.

Edit: I've uninstalled both from the admin (Upgrades and Upgrades Checker) and then I've uploaded again the module (ProcessWireUpgrade) via FTP and installed them again.

Now I can see the list of upgrades/updates available.

But I still have the message "Error reported by web service: Unable to find that module", if I go to Administration > Modules > Upgrades Checker and check for updates again.

Link to comment
Share on other sites

  • 3 months later...
  • 1 year later...

I realise this is a (very) late reply, but this problem just won't go away. In reply to @BitPoet user_agent isn't set in php.ini. I was under the impression that the request from the PW backend to GitHub set its own user agent. Can anyone confirm this one way or another? I may be able to upload a custom php.ini if there is a chance it will fix this.

Link to comment
Share on other sites

  • 3 months later...

Done some more digging on this.

Tried adding 

ini_set("user_agent", "PHP " . PHP_VERSION);

to config.php. Didn't work.

Found https://github.com/BitPoet/ProcessWireUpgrade/blob/dev-useragentfix/ProcessWireUpgrade.module and added 

$ua = ini_get("user_agent");
if(empty($ua)) ini_set("user_agent", "PHP " . PHP_VERSION);

(Lines 101 & 102) to ProcessWireUpgrade.module, per @BitPoet's fork. Didn't work.

I also added, as a test,

<?php
    ini_set('user_agent', 'ABC');
    echo ini_get('user_agent');
?>

to one of my template files and it did echo 'ABC', so ini_set() is working.

So it isn't user_agent that is causing the problem.

Link to comment
Share on other sites

4 hours ago, DaveP said:

So it isn't user_agent that is causing the problem.

Does your hosting allow outgoing http connections? Perhaps try it with a short, PW-independent php script that does a file_get_contents on a publicly reachable url.

Link to comment
Share on other sites

@DaveP, the GitHub API can respond with a 403 in a number of different situations, as described here: https://developer.github.com/v3/

But there should be some explanation in the "message" value of the returned JSON. You could put this in a template and see what you get back:

$http = new WireHttp();
$http->setHeader('User-Agent', 'ProcessWireUpgrade');
$json = $http->get('https://api.github.com/repos/processwire/processwire/branches');
print_r($json);

 

Link to comment
Share on other sites

@Robin S Thanks for your reply.

I tried your snippet, but got nothing back. (Absolutely zilch - I even wrapped any output in asterisks to make sure something was happening.) Then I added

echo $http->getError();

and guess what I got?

Quote

403 Forbidden: 2: fopen(https://api.github.com/repos/processwire/processwire/branches): failed to open stream: HTTP request failed! HTTP/1.1 403 Forbidden , Forbidden

:huh:

Thanks a lot, Github.

Link to comment
Share on other sites

1 hour ago, DaveP said:

Thanks a lot, Github.

I think your result means that the problem isn't with GitHub - the request is not being sent successfully. Perhaps a firewall or some other security restriction on your server is blocking it.

Are you able to use fopen() on any remote files? If you put this in your template...

$handle = fopen('https://www.google.com/', 'r');
bd($handle, 'handle');

...Tracy should show a stream resource in the dump.

2017-07-19_212900.png.66ee3feff70d67f8039fdfa950d24377.png

  • Like 1
Link to comment
Share on other sites

12 hours ago, DaveP said:

Doesn't look much different to yours, or am I missing something?

Looks normal, so must something particular about the GitHub URL or the way that it is accessed that causes it to be blocked.

It may be something that only your host can advise you on. You could try and set up a basic case to serve as a demonstration for them. ProcessWireUpgradeCheck.module basically does what I showed in a post above. If you take a look into WireHttp.php here and here you should be able to extract some of that code to create a basic test case in a PHP file that demonstrates the problem.

For reference, here is what you should see when executing the code I posted above:

[{"name":"dev","commit":{"sha":"651e8bd20c1f7bf13c08a2098f862adf82700a28","url":"https://api.github.com/repos/processwire/processwire/commits/651e8bd20c1f7bf13c08a2098f862adf82700a28"}},{"name":"master","commit":{"sha":"57b297fd1d828961b20ef29782012f75957d6886","url":"https://api.github.com/repos/processwire/processwire/commits/57b297fd1d828961b20ef29782012f75957d6886"}}]

 

Link to comment
Share on other sites

8 minutes ago, DaveP said:

Could it be some cache-related weirdness? If it works once it should work every time.

I am wild guessing here but do you have "Check for upgrades on superuser login?" turned on? The Upgrades module utilizes loginHook and maybe your other 3rd party module too and there might be some conflict there.

Link to comment
Share on other sites

1 hour ago, szabesz said:

do you have "Check for upgrades on superuser login?" turned on?

It was set to 'No', but I've changed it to 'Yes'. Now I get the error on login as well.

Having said that, the site (it is an intranet so every user has to be logged in) uses LoginPersist, so I have to log out intentionally in order to need to log in.

  • Like 1
Link to comment
Share on other sites

  • 4 months later...

Further update on this - earlier today was still getting 403. However, we just relocated offices (this is a debugging step I don't recommend), and with a new IP, no 403. Could GitHub be blocking IPs for some reason?

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...