Skip to main content

This site requires you to update your browser. Your browsing experience maybe affected by not having the most up to date version.

We've moved the forum!

Please use forum.silverstripe.org for any new questions (announcement).
The forum archive will stick around, but will be read only.

You can also use our Slack channel or StackOverflow to ask for help.
Check out our community overview for more options to contribute.

General Questions /

General questions about getting started with SilverStripe that don't fit in any of the categories above.

Moderators: martimiz, Sean, Ed, biapar, Willr, Ingo, swaiba

Difficulties flushing the cache


Go to End


6 Posts   4296 Views

Avatar
Tim_Donaldson

Community Member, 9 Posts

30 October 2010 at 10:35am

Edited: 30/10/2010 10:36am

I've had problems with getting my databases to flush in the not so distant past (http://silverstripe.org/general-questions/show/14614). Now I'm trying ss on a simple helix web server but getting different problems.

The problem is that I can't get new page types to appear in my CMS. I feel the database is flushing correctly because if I add HomePage.php to my server, flush the database, then add homepage.php (or any file with the same contents, but different name) it seems it recognises that the files are there because I get the following error:

Warning: There are two files both containing the same class: '/home/houseofh/public_html/mysite/code/HomePage.php' and '/home/houseofh/public_html/mysite/code/homepage.php'. This might mean that the wrong code is being used. in /home/houseofh/public_html/sapphire/core/ManifestBuilder.php on line 487

Warning: There are two files both containing the same class: '/home/houseofh/public_html/mysite/code/HomePage.php' and '/home/houseofh/public_html/mysite/code/homepage.php'. This might mean that the wrong code is being used. in /home/houseofh/public_html/sapphire/core/ManifestBuilder.php on line 487

I ended up resorting to re-installing SS and once the install was complete, the HomePage page type was now available in the CMS. I could go on doing this but it's obviously not very practical, and I'm not sure what data I might be losing every time I do this.

The only problem I can think of is that maybe it has something to do with mod-rewrite not being turned on. Well, I don't think it is turned on, localhost/admin just leads me to the homepage, while localhost/index.php/admin gets me into the admin? I have a pretty massive .htaccess file in the root directory set up for Magento although Magento isn't installed any more. Here are the contents:

############################################
## uncomment these lines for CGI mode
## make sure to specify the correct cgi php binary file name
## it might be /cgi-bin/php-cgi

# Action php5-cgi /cgi-bin/php5-cgi
# AddHandler php5-cgi .php

############################################
## GoDaddy specific options

# Options -MultiViews

## you might also need to add this line to php.ini
## cgi.fix_pathinfo = 1
## if it still doesn't work, rename php.ini to php5.ini

############################################
## this line is specific for 1and1 hosting

#AddType x-mapp-php5 .php
#AddHandler x-mapp-php5 .php

############################################
## default index file

DirectoryIndex index.php

<IfModule mod_php5.c>

############################################
## adjust memory limit

# php_value memory_limit 64M
php_value memory_limit 128M
php_value max_execution_time 18000

############################################
## disable magic quotes for php request vars

php_flag magic_quotes_gpc off

############################################
## disable automatic session start
## before autoload was initialized

php_flag session.auto_start off

############################################
## enable resulting html compression

#php_flag zlib.output_compression on

###########################################
# disable user agent verification to not break multiple image upload

php_flag suhosin.session.cryptua off

###########################################
# turn off compatibility with PHP4 when dealing with objects

php_flag zend.ze1_compatibility_mode Off

</IfModule>

<IfModule mod_security.c>
###########################################
# disable POST processing to not break multiple image upload

SecFilterEngine Off
SecFilterScanPOST Off
</IfModule>

<IfModule mod_deflate.c>

############################################
## enable apache served files compression
## http://developer.yahoo.com/performance/rules.html#gzip

# Insert filter on all content
###SetOutputFilter DEFLATE
# Insert filter on selected content types only
#AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript

# Netscape 4.x has some problems...
#BrowserMatch ^Mozilla/4 gzip-only-text/html

# Netscape 4.06-4.08 have some more problems
#BrowserMatch ^Mozilla/4\.0[678] no-gzip

# MSIE masquerades as Netscape, but it is fine
#BrowserMatch \bMSIE !no-gzip !gzip-only-text/html

# Don't compress images
#SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary

# Make sure proxies don't deliver the wrong content
#Header append Vary User-Agent env=!dont-vary

</IfModule>

<IfModule mod_ssl.c>

############################################
## make HTTPS env vars available for CGI mode

SSLOptions StdEnvVars

</IfModule>

<IfModule mod_rewrite.c>

############################################
## enable rewrites

Options +FollowSymLinks
RewriteEngine on

############################################
## you can put here your magento root folder
## path relative to web root

#RewriteBase /magento/

############################################
## workaround for HTTP authorization
## in CGI environment

RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

############################################
## always send 404 on missing files in these folders

RewriteCond %{REQUEST_URI} !^/(media|skin|js)/

############################################
## never rewrite for existing files, directories and links

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l

############################################
## rewrite everything else to index.php

RewriteRule .* index.php [L]

</IfModule>

############################################
## Prevent character encoding issues from server overrides
## If you still have problems, use the second line instead

AddDefaultCharset Off
#AddDefaultCharset UTF-8

<IfModule mod_expires.c>

############################################
## Add default Expires header
## http://developer.yahoo.com/performance/rules.html#expires

ExpiresDefault "access plus 1 year"

</IfModule>

############################################
## By default allow all access

Order allow,deny
Allow from all

############################################
## If running in cluster environment, uncomment this
## http://developer.yahoo.com/performance/rules.html#etags

#FileETag none

Avatar
Tim_Donaldson

Community Member, 9 Posts

2 November 2010 at 8:11pm

If someone could please advise me on how re-installing SS to flush the database would effect existing database information (like users, or content) I really would be much appreciative.

Cheers,

Tim

Avatar
cuSSter

Community Member, 56 Posts

2 November 2010 at 11:15pm

Edited: 02/11/2010 11:58pm

Hi Tim,

Try a fresh install of SilverStripe first without any third party or even SS modules. Point in to a different database, build it. Then try to create a page class, then build the database again. See if you can create an instance of that page in the CMS admin.

I didn't encounter the problems you have posted here in my numerous installations of SilverStripe. Try that first and let's see what happens.

/C

Avatar
Tim_Donaldson

Community Member, 9 Posts

3 November 2010 at 11:16am

Hi Pinoy,

I've just tried your suggestion but it didn't seem to resolve the problem. I haven't tried any third party or SS modules yet so they can't be interfering.

If the mod-rewrite issue isn't the problem then my only other thoughts are that maybe simple helix are running an un-supported version of MySQL that doesn't like to re-build with whatever method dev/build?flush=1 uses? Any other ideas?

Thanks for your help.

Tim

Avatar
swaiba

Forum Moderator, 1899 Posts

3 November 2010 at 11:28am

Could be something todo with the cache itself, have you added a silverstripe-cache folder to your root (alongside cms and sapphire)? This will be used as the cache and you can easily delete it's contents to flush the cache manually.

Avatar
cuSSter

Community Member, 56 Posts

3 November 2010 at 6:43pm

Yeah, I think swaiba is right. Sometimes I try to delete the files under /tmp/silverstripe-cache-<name-of-your-directory> then do a build. Maybe you should try that one. :) Hit us back with the updates.