Fresh install of 5.5.2.1 results in "Page Not Found"

Permalink
Title explains it. With and without pretty URL rewriting, I get a blank page with this message:

Page Not Found
 No page could be found at this address. 
Back to Home.


Clicking back to home brings me back to the same spot, and I can't access anything else. After deleting everything and reinstalling several times, still no results but the above. Is there something I could have done wrong?

 
jero replied on at Permalink Reply
jero
I'd guess it's something to do with your nginx web server, which is returning an odd value.

I'd stick some debug in concrete/libraries/request.php in the get() function and see whether any of SERVER_PATH_VARIABLE,PATH_INFO, REDIRECT_URL, REQUEST_URI, ORIG_PATH_INFO or SCRIPT_NAME are defined in the $_SERVER global array, if you have one.
Erratus replied on at Permalink Reply
The values they return:
Server Path Variable: 
Path Info: /testbed/concrete5/
Redirect Url: 
Request URI: /testbed/concrete5/
ORIG_PATH_INFO: 
Script Name: /testbed/concrete5/index.php

Should they all return values?
jero replied on at Permalink Reply
jero
At least one needs to, that's for sure. In my case I see REQUEST_URI and SCRIPT_NAME.

The next move I would make would be to look in concrete/dispatcher.php around line 168.

$req = Request::get();


should be returning an empty string for the home page, or the path basename (e.g. "about")

By the time you get to the second Request:get() on line 179. you should have a valid page object in $c. I used var_dump($c);die(); to view it. If it looks like this:

object(Page)#74 (4) { ["blocksAliasedFromMasterCollection":protected]=> NULL
["cID"]=> NULL ["attributes":protected]=> array(0) { }
["error"]=> int(10) }


Then it's not figured out which page it should be dealing with which points the finger at the Request class getting confused.
Erratus replied on at Permalink Reply
Seems to be confused:
object(Page)#70 (4) { ["blocksAliasedFromMasterCollection":protected]=> NULL ["cID"]=> NULL ["attributes":protected]=> array(0) { } ["error"]=> int(10) }


Why doesn't Concrete5 have an error handling class? Would have been nice to have some debuggable output like this built in.
jero replied on at Permalink Reply
jero
When you did the install, did you go for the sample data or the clean install? I'm wondering if you're missing the home page (cID=1)

What does $req->getRequestCollectionPath() return?
Erratus replied on at Permalink Reply
Sample data, and it returns the number one. (Which I assume means the home page *does* exist?)
jero replied on at Permalink Reply
jero
Now that is odd - you should either be getting an empty string, if it's the home page, or the path of the page, e.g. "/about", "/contact" etc.

You'' probably need to dig into libraries/request.php a bit deeper, specifically the Request::get() method.
Erratus replied on at Permalink Reply
Is it bad that there is no /libraries/request.php? (There is, however, a concrete/libraries/request.php)

I imagine that would be an issue, haha. I've done a fresh install several times, but I guess could still be missing files for some reason.
jero replied on at Permalink Reply
jero
No that's normal. You would only have /libraries/request.php if you're planning to override the core. In your case, it might be worth copying concrete/libraries/request.php to libraries/request.php before adding too much debug, since you can remove it easily by just zapping the file.
Erratus replied on at Permalink Reply
Dumping $req returns the following:
object(Request)#64 (11) { 
["currentPage":"Request":private]=> NULL 
["requestPath":"Request":private]=> string(17) "testbed/concrete5" 
["task":"Request":private]=> NULL 
["params":"Request":private]=> NULL 
["includeType":"Request":private]=> NULL 
["btHandle":"Request":private]=> NULL 
["filename":"Request":private]=> NULL 
["cID":"Request":private]=> int(1) 
["cPath":"Request":private]=> string(17) "testbed/concrete5" 
["pkgHandle":"Request":private]=> NULL 
["auxData":"Request":private]=> NULL }


Possible I'm receiving page not found because the page simply doesn't exist? Far too many NULL responses here for this to be normal.

EDIT:
cFileName for cID 1 is NULL in the database, definitely something wrong there.
The rest have values though, although I'm not sure how to access any of those. Trying index.php/dashboard (Which I'm guessing is the path) returns the same page not found error
Erratus replied on at Permalink Reply
Problem solved, moved a few versions back to 5.5.0 and everything is dandy. Really not sure what the problem is with 5.5.2 and 5.5.2.1, but nothing seems to want to make it work with Nginx.