Jump to content

Recommended Posts

Posted

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. 

Posted

Yes, i've had the problem for a while now. If I go directly to the link it works fine. Could it be a hosting problem?

Posted

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.

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

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.

  • 3 months later...
Posted

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.

Posted
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.

Posted

The error only shows for PW repos (see screenshot). If there were a general problem, then surely the other repos would be unavailable too.

Screen Shot 2017-07-18 at 18.00.46.png

Posted

@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);

 

Posted

@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.

Posted
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
Posted

Currently I have no issues with Upgrades module connecting to GitHub either. In the past once I had issues with it too, but at that time GitHub was brought down by DoS attack or something like that.

Posted
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"}}]

 

Posted

I'd just read @szabesz & @Robin S's replies, and went to reload the offending page, and got this...

59706cffe8905_ScreenShot2017-07-20at09_36_52.thumb.png.260fe15c20e5464274db290c70bdabb5.png

Yep. it worked.

But only the once. Now it's back to the same state as my post above.

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

Posted
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.

Posted
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
  • 4 months later...
Posted

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?

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
×
×
  • Create New...