Page 1 of 1

[SOLVED] Problem with 'CmsRoute' when moving to new host

Posted: Thu Apr 14, 2011 11:09 am
by gocreative
I have CMSMS 1.9.4.1 up and running on a staging server and now need to copy the site over to the live server. I've set up the DB on the new server, imported the tables etc and uploaded a copy of all the files.

However, when I try to access the site I receive this error:

Fatal error: Class 'CmsRoute' not found in /home/xxxx/public_html/domain.com/lib/classes/class.contentoperations.inc.php on line 1077

(where 'xxxx' is my username and 'domain.com' is my domain)

As far as I'm aware, the path shouldn't include the domain in there at all (according to the host's documentation) and it's definitely not set up that way in config.php (which I have modified to meet the new server requirements). And, of course, I've checked that the necessary files are on the server.

Can anyone help to clarify what might be going wrong here? I've been fiddling with settings for a good couple of hours now but can't resolve the issue. Any help would be greatly appreciated.

Re: Problem with 'CmsRoute' when moving to new host

Posted: Thu Apr 14, 2011 5:36 pm
by Nullig
Sounds like the files didn't copy fully. Did you FTP the files? or FTP a zip file of the site and unzip it?

Nullig

Re: Problem with 'CmsRoute' when moving to new host

Posted: Thu Apr 14, 2011 8:49 pm
by gocreative
I used FTP to download all files individually and then uploaded them individually again to the new server.

Re: Problem with 'CmsRoute' when moving to new host

Posted: Fri Apr 15, 2011 9:17 am
by gocreative
I just downloaded all files again, and re-uploaded to the new server - no luck.

Does anyone know what might cause this issue? For example can I rule out database connectivity, since I know that I've got the right information there? Could it be a PHP configuration setting since the two servers are with completely different hosts and I have no control over the settings on either?

Re: Problem with 'CmsRoute' when moving to new host

Posted: Fri Apr 15, 2011 9:38 am
by M@rtijn
If you can still enter the 'old' website, create a checksum validation file (go to 'site admin' -> 'system verification' and press submit on 'Download Checksum File')

Go to the new website and upload that file. Hopefully it will tell you which files are missing or incomplete.

If the checksum is fine, can you post your config.php here?
(be sure to remove your db login information)

Re: Problem with 'CmsRoute' when moving to new host

Posted: Fri Apr 15, 2011 10:40 am
by gocreative
I can't do anything on the site at new server (front end or admin) - both pages result in one or more errors. Is there some other way I can test the checksum file on the new server?

In any case, my config.php is below:

Code: Select all

#-----------------
#Behaviour Settings
#-----------------

# These settings will effect the overall behaviour of the CMS application, please
# use extreme caution when editing these.  Additionally, some settings may have
# no effect on servers with significantly restricted configurability.

# Warning: This option is deprecated and will be removed in later versions oF CMSMS.
# If you are experiencing problems with php memory limit errors, then you may
# want to try enabling and/or adjusting this setting.
# Note: Your server may not allow the application to override memory limits.
$config['php_memory_limit'] = '';

# In versions of CMS Made Simple prior to version 1.4, the page template was processed
# in it's entirety.  This behaviour was later changed to process the head portion of the
# page template after the body.  If you are working with a highly configured site that
# relies significantly on the old order of smarty processing, you may want to try
# setting this parameter to true.
$config['process_whole_template'] = false;

# CMSMS Debug Mode?  Turn it on to get a better error when you
# see {nocache} errors, or to allow seeing php notices, warnings, and errors in the html output.
# This setting will also disable browser css caching.
$config['debug'] = false;

# Output compression?
# Turn this on to allow CMS to do output compression
# this is not needed for apache servers that have mod_deflate enabled
# and possibly other servers.  But may provide significant performance
# increases on some sites.  Use caution when using this as there have
# been reports of incompatibilities with some browsers.
$config['output_compression'] = false;

# Timezone setting
# PHP 5.3 requires that timezones be set at the server level.
# This variable can be used to set your sites timezone.
# Valid values for this variable can be found at:
# http://www.php.net/manual/en/timezones.php
# If this field is empty, no timezone will be set
$config['timezone'] = 'Australia/Brisbane';

#-----------------
#Database Settings
#-----------------

#This is your database connection information.  Name of the server,
#username, password and a database with proper permissions should
#all be setup before CMS Made Simple is installed.
$config['dbms'] = 'mysql';
$config['db_hostname'] = 'xxxxxxx';
$config['db_username'] = 'xxxxxxx';
$config['db_password'] = 'xxxxxxx';
$config['db_name'] = 'xxxxxxx';
#Change this param only if you know what you are doing
$config["db_port"] = '';


#If app needs to coexist with other tables in the same db,
#put a prefix here.  e.g. "cms_"
$config['db_prefix'] = 'cms_';

#Use persistent connections?  They're generally faster, but not all hosts
#allow them.
$config['persistent_db_conn'] = false;

#Use ADODB Lite?  This should be true in almost all cases.  Note, slight
#tweaks might have to be made to date handling in a "regular" adodb
#install before it can be used.
$config['use_adodb_lite'] = true;

#-------------
#Path Settings
#-------------

#Document root as seen from the webserver.  No slash at the end
#If page is requested with https use https as root url
#e.g. http://blah.com
$config['root_url'] = 'http://www.xxx.net.au';

#SSL URL.  This is used for pages that are marked as secure.
$config['ssl_url'] = 'https://www.xxx.net.au';

#Path to document root. This should be the directory this file is in.
#e.g. /var/www/localhost
$config['root_path'] = '/home/industr1/public_html';

#Name of the admin directory
$config['admin_dir'] = 'admin';

#Where do previews get stored temporarily?  It defaults to tmp/cache.
$config['previews_path'] = '/home/industr1/public_html/tmp/cache';

#Where are uploaded files put?  This defaults to uploads.
$config['uploads_path'] = '/home/industr1/public_html/uploads';

#Where is the url to this uploads directory?
$config['uploads_url'] = $config['root_url'] . '/uploads';


#---------------
#Upload Settings
#---------------

#Maxium upload size (in bytes)?
$config['max_upload_size'] = 15000000;

#Permissions for uploaded files.  This only really needs changing if your
#host has a weird permissions scheme.
#$config['default_upload_permission'] = '664';
$config['default_upload_permission'] = '0777';

#------------------
#Usability Settings
#------------------

#Allow smarty {php} tags?  These could be dangerous if you don't trust your users.
$config['use_smarty_php_tags'] = false;

#Automatically assign alias based on page title?
$config['auto_alias_content'] = true;

#------------
#URL Settings
#------------

#What type of URL rewriting should we be using for pretty URLs?  Valid options are:
#'none', 'internal', and 'mod_rewrite'.  'internal' will not work with IIS some CGI
#configurations. 'mod_rewrite' requires proper apache configuration, a valid
#.htaccess file and most likely {metadata} in your page templates.  For more
#information, see:
#http://wiki.cmsmadesimple.org/index.php/FAQ/Installation/Pretty_URLs#Pretty_URL.27s
$config['url_rewriting'] = 'mod_rewrite'; // this is new from 1.6

#Extension to use if you're using mod_rewrite for pretty URLs.
$config['page_extension'] = '';

#If you're using the internal pretty url mechanism or mod_rewrite, would you like to
#show urls in their hierarchy?  (ex. http://www.mysite.com/parent/parent/childpage)
$config['use_hierarchy'] = true; // this will be the standard from 1.7

#If using none of the above options, what should we be using for the query string
#variable?  (ex. http://www.mysite.com/index.php?page=somecontent)
$config['query_var'] = 'page';

#--------------
#Image Settings
#--------------

#Which program should be used for handling thumbnails in the image manager.
#See http://wiki.cmsmadesimple.org/index.php/User_Handbook/Admin_Panel/Content/Image_Manager for more
#info on what this all means
$config['image_manipulation_prog'] = 'GD';
$config['image_transform_lib_path'] = '/usr/bin/ImageMagick/';

#Default path and URL for uploaded images in the image manager
$config['image_uploads_path'] = '/home/industr1/public_html/uploads/images';
$config['image_uploads_url'] = $config['root_url'] . '/uploads/images'; 

#SSL URL.  This is used for pages that are marked as secure.
$config['ssl_uploads_url'] = '/uploads';

#------------------------
#Locale/Encoding Settings
#------------------------

#Locale to use for various default date handling functions, etc.  Leaving
#this blank will use the server's default.  This might not be good if the
#site is hosted in a different country than it's intended audience.
$config['locale'] = '';

#In almost all cases, default_encoding should be empty (which defaults to utf-8)
#and admin_encoding should be utf-8.  If you'd like this to be different, change
#both.  Keep in mind, however, that the admin interface translations are all in
#utf-8, and will be converted on the fly to match the admin_encoding.  This
#could seriously slow down the admin interfaces for users.
$config['default_encoding'] = 'utf-8';
$config['admin_encoding'] = 'utf-8';

#This is a mysql specific option that is generally defaulted to true.  Only
#disable this for backwards compatibility or the use of non utf-8 databases.
$config['set_names'] = true;

# URL of the Admin Panel section of the User Handbook
# Set none if you want hide the link from Error
$config['wiki_url'] = 'http://wiki.cmsmadesimple.org/index.php/User_Handbook/Admin_Panel';

#------------------------
#Miscelaneous Settings
#------------------------

#Add performance information (in the form of an HTML comment) to the
#bottom of all generated pages.  Note, this may cause problems with validation
#or with advanced AJAX requests where only portions of a page are requested.
#This variable just needs to exist, value is irrelevant.
#$config['show_performance_info'] = 'anything';

Re: Problem with 'CmsRoute' when moving to new host

Posted: Mon Apr 18, 2011 2:38 am
by gocreative
I've fixed this issue. Turns out there were two problems:

1) The staging server required folder permissions be set to '2777' (instead of 777), however the live server needed to be changed back to just 777.

2) The path was incorrect. The host uses cPanel and I couldn't find the full path anywhere, including on the host's FAQ and forum sections.