| @@ -39,9 +39,15 @@ | ||
| 39 | 39 | $config_dir = dirname($this->config_file); |
| 40 | 40 | |
| 41 | 41 | // Ensure the cache directory exists |
| 42 | 42 | if (!is_dir($config_dir)) { |
| 43 | - wp_mkdir_p($config_dir); | |
| 43 | + @mkdir($config_dir, 0755, true); | |
| 44 | + } | |
| 45 | + | |
| 46 | + // If dir still doesn't exist (e.g. permissions failure), use defaults and skip disk I/O | |
| 47 | + if (!is_dir($config_dir)) { | |
| 48 | + self::$cached_config = $this->defaults; | |
| 49 | + return; | |
| 44 | 50 | } |
| 45 | 51 | |
| 46 | 52 | if (!file_exists($this->config_file)) { |
| 47 | 53 | // Create config file with current defaults if it doesn't exist |