Directory Structure

/conf server configuration files

/logs all realtime website logs

/test all development files must go here

/web   live website, will be here

During development process, all files must be stored in /test folder and when website will go live, we'll change TEST folder to LIVE folder. And LIVE folder will become new TEST environment

You can access test folder http://[projectname].unknown

PHP 5.3+ Framework and code

All Quintessentially website must be based on MVC framework.

  • PHP 5.3+
    We always use latest version of PHP
  • MVC Framework (opensource or commercial)
    We use Yii
  • Modern Tempalte Enging (smarty or similar)
    No "agile" development allowed
  • No wordpress based websites
    Leave wordpress for blogs
  • We use nginx as web server, website should not relay on .htaccess file
    Our server rewrites all requests to /index.php file
  • Query optimization and memcached as caching system
    All MySQL queries must be optimized and cached in memcache
  • Website cannot abuse file_get_contents function
    Website is now allowed to use this function on every request


Script must use relative path like dirname (__FILE__) from configuration file or index.php file

SSH 2 File access

FTP protocol is not secure, Quintessentially is using SSH 2 access. You can use any SSH2 client to access server.

We recomend to use WinSCP and It's free

MySQL Database

There's no remote access to MySQL from internet. We provide phpMyAdmin for remote database management

Please use:

For the very large SQL dumps (over 10mb) please upload files into /test folder and contact Server Administrator

Please note: Website engine must support and use prefix_ for all tables. This will allow us to use same database for all sister company projects and will make backup process easier

Mecached Query Caching

Memcached is mandatory feature for all Quintessentially websites. High traffic generate high server load, we use memcache to reduce mysql/cpu load on our hosting servers

Note: Please use hostname (qmemcache) instead of IP (, as we use separate server for memcache