24

Most WSoDs are caused by a PHP error that haults processing combined with configuration that prevents the error from being shows in the browser. The fastest way to debug white screen errors is to turn on logging and startup errors. The instructions below assume you are running under Apache with an Override setting that will allow php_flag and php_value ...


16

I'll add to this as needed. Since you have ssh access to the server, start there. 1) Connect via ssh to the production server via Terminal (or iTerm app). cd to the root of your site (or the directory where you want to track changes). 2) Type the following: git config --global user.name "SITE NAME Prod Server" git config --global user.email johndoe@...


15

$assign_to_config is an EE-native array used in the index.php file. Here's part of the comments EllisLab left for us to provide context: The $assign_to_config array below will be passed dynamically to the config class. This allows you to set custom config items or override any default config values found in the config.php file. This can be handy ...


8

I hate to answer my own question, but in the interest of sharing… I have discovered that the required modification to use Focus Lab’s EE Master Config under your webroot folder (eg. public_html or htdocs folder) is simply a path update within /config/config.master.php on line 234 (version 1.1). This should be the relative path to your config.{env}.php ...


7

In cases like these it's likely that there is something unique about how the host sets certain environment variables within PHP. A few questions: Who is the host? Do you have access to server error logs? If so, what's in the error log? If you have a 500 error you should have a log of the reason somewhere on the server. If there isn't, as your host where ...


7

I'm getting the same issue since upgrading to OS X Yosemite. I suspect the real issue is your version of PHP has been upgraded to PHP 5.6. While upgrading the OS I also swapped to PHP 5.6 and now all EE sites with debug mode enabled display this PHP notice. Someone else on the EllisLab forums has had the same issue and a fix has been posted: https://...


6

Some more googling and I found the answer here. The issue is with Structure and setting it to redirect to structure on login. I finally found out that Structure 3.3.1 is the culprit when you set it to redirect to Structure on login. You can get past it by editing the config file and change $config['allow_extensions'] = 'y'; to $config['...


5

Version 1.1.1 of the Master Config added two global variables by default. Here's a sample of use: {if global:env == 'dev'} {if logged_out} {redirect='tmp/login'} {/if} {/if} An alternate approach without nesting conditionals: {if global:env == 'dev' && logged_out} {redirect='tmp/login'} {/if} If you are using a version before ...


5

Add the trailing slash for the 'server_path' also. /** * Custom upload directory paths * * The array keys must match the ID from exp_upload_prefs */ $env_config['upload_preferences'] = array( 1 => array( 'name' => 'Home Page Slideshow', 'server_path' => $images_path . '/home_slideshow/', 'url' =&...


4

I make a few changes to the Master Config in my Base EE install. I made some pull requests to the core, but I am not sure if they were approved. I actually change my environment to the follow, it makes life much simpler with domains. Basically the following code strips the WWW from the URL and ensure you only have to define the domain once. Real simple ...


4

You can use {global:env} and {global:env_full} by default. To add in extra variables see the $master_global array in config.master.php.


4

In your index.php & admin.php are you pointing your system path to the correct spot? I keep my system above root: $system_path = '../system'; On a related note, can you turn on debugging in your index/admin files? Earlier this week I had the same issue until I enabled debugging and got: Your system folder path does not appear to be set correctly. ...


4

Not sure why that's not working but I tend to just override the default value of 'is_system_on' in the specific environment's config. E.g. for your staging environment add this to config.stage.php: $env_config['is_system_on'] = 'n';


4

This is always a themes folder and protocol issue, I've found. You mentioned this: $env_config['cp_url'] = $env_config['base_url'] . '/admin.php'; What are you parameters for various $env_config array entries? Make sure that array is using https for that URL, and also your themes folder must also be behind SSL. Update Hey, so are you forcing SSL for all ...


4

Please see the documentation for full details: Connecting to an External Database But the basic pattern for spinning up a separate DB connection in v3 would be: Create a DBConfig object from your database's connection settings Create a new Database object using the DBConfig object Issue queries to a Query object on the new database with ->newQuery(), ...


3

Here's how I'm deploying the majority of sites http://digitalevangelist.net/blog/git-deployments I do have a paid DeployHQ account as well but that's generally for larger projects deploying to multiple environments with emails going to stakeholders when there's been a deployment.


3

The solution involved the following steps: set the $system_path in the index.php and admin.php to $system_path = '../../system'; change a couple of lines in the config.master.php: on line 93 add your directory name to the $base_url variable like so: $base_url = $protocol . $_SERVER['HTTP_HOST'].'/my_subdirectory'; on line 94 add your directory name to ...


3

This is because the master config changes database configurations based on the value of $_SERVER['HTTP_HOST'], and you likely have "denvillechamber.com" as your value, which is not the same as "www.denvillechamber.com". Your site should not be accessible at both www and non-www locations - one should redirect to the other. Put this in your .htaccess file: ...


3

Jason Siffring at Surprise Highway posted an article on how to do this with .htaccess. Unfortunately it requires a .htpasswd file, which it looks like you're trying to avoid. Here's the link in case it's useful: http://surprisehighway.com/article/how-to-password-protect-development-and-staging-sites-with-htaccess


3

When I have had a WSoDs in the past it has often been due to third party extensions failing. Try turning off extensions in config.php and work your way back from there. Also, make sure you third-party extensions are up to date.


3

After uselessly beating my head against the wall on this, I just decided to clear all the files from the server, drop the database, and re-upload everything. Now it works fine. Thank you, thank you, THANK YOU to everyone for all of your excellent suggestions, and I'm really sorry for totally mangling this question.


3

If it's a memory issue, add # Increase PHP Memory php_value memory_limit 32M to your .htaccess on the root of the html folder.


3

Do you have the ENV_BASE_PATH constant defined for each environment? It sounds like you only set it up under one. The goal of this file (config.env.php) is to set constants per environment so you would want it to look something like the following: if ( ! defined('ENV')) { switch ($_SERVER['HTTP_HOST']) { case 'domain.com' : define('...


3

The switch in the config.env.php is based on the $_SERVER['HTTP_HOST'] variable, which only contains the host name, not the subdirectories below it. You'd need to do some serious reconfiguration of Master Config in order for it work with with different directories as environments, as it's designed to be using different servers for environments, such as ...


3

Make sure the staging domain is correct in config.env.php Make sure the staging config is in fact loaded (put a die("hello); at the top of your config.staging.php) Verify that your site says "hello" on staging, which means it is actually loading the staging config. Edit both index.php and admin.php and set $debug=1; in both. Remove the die() you put in ...


3

It looks like you're running the system below webroot, which is not how the FocusLab master config is setup to run by default. From the readme: The instructions above are for setting up the config above webroot (your "public_html, "htdocs", etc directory). So it assumes this structure: /config /httpdocs /system If you really need to run your system ...


3

Ultimately it comes down to your hosting company and how much control they have over mapping the domain's web root. I'd ask your host if you can re-map the production domain to point to /public_html/public. Same with your development domain, have it mapped to dev_html/public. So your setup will look like this: dev_html system public public_html system ...


3

That's because the config file is checking the value of $_SERVER['HTTP_HOST']. What you need to check is $_SERVER['SERVER_ADDR']. try this: if(!empty($_SERVER['HTTP_HOST'])) { switch (strtolower($_SERVER['HTTP_HOST'])) { // Standard case statements here } } else { if($_SERVER['SERVER_ADDR'] == '111.222.333.444') { define('...


3

The image problem is usually caused by the setup at your hosting provider (Nexcess?). I believe you can fix this by setting the correct base path for CE Image, as described here. EDIT: And this is an example of how to set it at Nexcess: $env_config['ce_image_document_root'] = '/chroot/home/account/domain/html';


2

You don't say which version of EE you're using or what add-ons but from experience a common cause of this has been Image Sizer. The specific problem being large files causing out of memory errors. There have been occasions where it has caused a problem even when the files in question are not being directly accessed.


Only top voted, non community-wiki answers of a minimum length are eligible