5.7.4.1 Migration: Casing Issues, No such File or Directory

Permalink
Hi all,
I posted this yesterday (in the wrong forum I think) and had no replies.
I have a site built in 5.7.4.1 which is complete and working locally, i'm using MAMP running PHP 5.6. I also have 5.6 on my server.

I initial got this error:
is_dir(): open_basedir restriction in effect. File(/var/lib/php/session) is not within the allowed path(s): (/var/www/vhosts/mysite.co.uk/:/tmp/)
I resolved this by changing my php 'open_basedir' to 'none'


Resolving the first issue led straight into this one that I cannot resolve:

I tried to access the homepage and got this error:
include(/var/www/vhosts/mysite.co.uk/httpdocs/concrete/blocks/html/view.php): failed to open stream: No such file or directory

This directory does exist except that the folder 'html' is actually 'Html', if I change the case to 'html' it gets past this issue and throws this error:
Class '\Concrete\Block\Html\Controller' not found

also, If I access the login page via this url:
http://www.mysite.co.uk/index.php/login......

I receive this error:
Concrete\Core\Authentication\AuthenticationType::renderForm(): Failed opening required '/var/www/vhosts/mysite.co.uk/httpdocs/concrete/authentication/concrete/form.php' (include_path='/var/www/vhosts/mysite.co.uk/httpdocs/concrete/vendor:.:/opt/plesk/php/5.6/share/pear')

I tried the login page as it would not have any custom modifications.

Again, the folder 'Authentication' is actually 'authentication', if I change it to 'Authentication' in the file system I get this error:
Class \Concrete\Authentication\Concrete\Controller does not exist


I have other C5 sites hosted on my server but not 5.7.4.1, I have 5.7.3.1
This casing issue does not affect the site when run locally.
I have tried upgrading to 5.7.4.2 but it warns that I have over 100 overrides and completely breaks the site so did not pursue further.
I have checked the MySql database and all of the table names are camel cased as I have read a few articles related to casing issues when moving from windows hosted local databases.

Any help here would be much appreciated.


Thanks

 
andrew replied on at Permalink Reply
andrew
You should not have to change the case of any folders. There are several folders in the concrete directory the case of which does NOT match the namespace. This is expected and is by design. For example, the namespace of the block controller for the Html block is \Concrete\Block\Html – and the folder name should be concrete/blocks/html/. There absolutely should be a view.php file in the concrete/blocks/html/ folder, and if any of these are missing or misnamed or miscased there is something wrong with your installation.
mediasplash replied on at Permalink Reply
Hi Andrew,
Thanks for your reply.

I only changed the folder name whilst investigating the error it was throwing, i.e. this one:
"include(/var/www/vhosts/mysite.co.uk/httpdocs/concrete/blocks/html/view.php): failed to open stream: No such file or directory"

The files are all there, the only difference is the case of the folder name, i.e. 'html' vs 'Html'.
The include expects 'html' but the physical folder structure is 'Html'

I have compared it all to my local install which works perfectly.