title: Zend framework: Warning: is_readable() [function.is-readable]: open_basedir restriction in effect
body: <blockquote>
    <p><strong>Possible Duplicate:</strong><br>
    <a href="https://stackoverflow.com/questions/12769982/reference-what-does-this-error-mean-in-php">Reference - What does this error mean in PHP?</a>  </p>
  </blockquote>
  
  
  
  <p>I had a ZF configuration on a local webserver and everything worked just fine.
  Now i put it on the internet at my host and when i load the site i get many warnings/ fatal error on the screen. Does anybody have an idea what the reason can be?</p>
  
  <p>Greetings Eric</p>
  
  <p>Example: </p>
  
  <blockquote>
    <p>Warning: is_readable() [function.is-readable]: open_basedir restriction in effect.
    File(/usr/local/reserved///sites/ericversteeg.nl/www/application/../library/Custom/Zend/Application/Resource/View.php) is not within the allowed path(s): (/usr/local/reserved/index.php:/sites/ericversteeg.nl/:/tmp) in /sites/ericversteeg.nl/www/library/Zend/Loader.php on line 198</p>
    
    <p>Warning: is_readable() [function.is-readable]: open_basedir restriction in effect. File(/usr/local/reserved///sites/ericversteeg.nl/www/application/../library/Custom/Zend/Application/Resource/View.php) is not within the allowed path(s): (/usr/local/reserved/index.php:/sites/ericversteeg.nl/:/tmp) in /sites/ericversteeg.nl/www/library/Zend/Loader.php on line 198</p>
  </blockquote>
  
  <p>And finally the fatal:</p>
  
  <blockquote>
    <p>Fatal error: Uncaught exception 'Zend_Controller_Response_Exception' with message 'Cannot send headers; headers already sent in /sites/ericversteeg.nl/www/library/Zend/Loader.php, line 198' in /sites/ericversteeg.nl/www/library/Zend/Controller/Response/Abstract.php:323 Stack trace: #0 /sites/ericversteeg.nl/www/library/Zend/Controller/Response/Abstract.php(341): Zend_Controller_Response_Abstract->canSendHeaders(true) #1 /sites/ericversteeg.nl/www/library/Zend/Controller/Response/Abstract.php(768): Zend_Controller_Response_Abstract->sendHeaders() #2 /sites/ericversteeg.nl/www/library/Zend/Controller/Front.php(992): Zend_Controller_Response_Abstract->sendResponse() #3 /sites/ericversteeg.nl/www/library/Zend/Application/Bootstrap/Bootstrap.php(97): Zend_Controller_Front->dispatch() #4 /sites/ericversteeg.nl/www/library/Zend/Application.php(366): Zend_Application_Bootstrap_Bootstrap->run() #5 /sites/ericversteeg.nl/www/public/index.php(28): Zend_Application->run() #6 {main} thrown in /sites/ericversteeg.nl/www/library/Zend/Controller/Response/Abstract.php on line 323</p>
  </blockquote>
  
  <p>my index.php :</p>
  
  <pre><code>date_default_timezone_set('Europe/Paris');
  
  // Define path to application directory
  defined('APPLICATION_PATH')
      || define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../application'));
  
  // Define application environment
  defined('APPLICATION_ENV')
      || define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'production'));
  
  // Ensure library/ is on include_path
  set_include_path(implode(PATH_SEPARATOR, array(
      realpath(APPLICATION_PATH . '/../library'),
      get_include_path(),
  )));
  
  /** Zend_Application */
  require_once 'Zend/Application.php';
  
  // Create application, bootstrap, and run
  $application = new Zend_Application(
      APPLICATION_ENV,
      APPLICATION_PATH . '/configs/application.ini'
  );
  $application-&gt;bootstrap()
              -&gt;run();
  </code></pre>
  
  <p>my bootstrap</p>
  
  <pre><code>class Bootstrap extends Zend_Application_Bootstrap_Bootstrap {
  
      public function _initAutoloader() {
          $autoloader = new Zend_Application_Module_Autoloader(array(
              'namespace' =&gt; '',
              'basePath' =&gt; APPLICATION_PATH,
              'fallbackAutoloader' =&gt; true
          ));
  
          return $autoloader;
      }
  
      protected function _initConfig() {
          Zend_Registry::set('config', new Zend_Config_Ini(
              APPLICATION_PATH . '/configs/application.ini',
              APPLICATION_ENV,
              array('allowModifications' =&gt; true)
          ));
          $router = Zend_Controller_Front::getInstance()-&gt;getRouter();
          $router-&gt;addConfig(new Zend_Config_Xml(APPLICATION_PATH . '/routes.xml'));
      }
  
      protected function _initDbAdapter() {
          $this-&gt;bootstrap('db');
          $db = $this-&gt;getResource('db');
          if (!is_null($db)) {
              Zend_Registry::set('db', $db);
          } else {
              throw new Zend_Exception('Cannot connect to database');
          }
      }
  
      protected function _initSession() {
          $resource = $this-&gt;getPluginResource('session');
          Zend_Session::setOptions($resource-&gt;getOptions());
          $ns = new Zend_Session_Namespace('Eric_website');
          Zend_Registry::set('session', $ns);
      }
  
      protected function _initLog() {
          //Zend_Registry::set('logger', new Custom_Zend_Log());
  
          // Chrome PhpConsole
          if (APPLICATION_ENV == 'development') {
              Custom_PhpConsole::setEnabledOnServer();
              if (Custom_PhpConsole::isEnabledOnClient()) {
                  Custom_PhpConsole::start(true, true, dirname(__FILE__));
                  //Custom_PhpConsole::$ignoreRepeatedEvents = true;
              }
          }
          // Dummy debug function in case PhpConsole is not used
          if (!function_exists('debug')) {
              function debug() { }
          }
          $logger = new Zend_Log();
  
          // firebug writer voor development omgeving
          $writer = new Zend_Log_Writer_Firebug();
          $writer-&gt;setEnabled(true);
          $logger-&gt;addWriter($writer);
  
          Zend_Registry::set('logger', $logger);
      }
  
      protected function _initView() {
  
          // Initialize view
          $view = new Zend_View();
          $view-&gt;addHelperPath(APPLICATION_PATH . '/views/helpers/', 'Custom_Zend_View_Helper');
          $view-&gt;addScriptPath(APPLICATION_PATH . '/views/scripts/');
          $view-&gt;addScriptPath(APPLICATION_PATH . '/views/partials/');
          //$view-&gt;headMeta()-&gt;appendHttpEquiv('Content-Language', Zend_Registry::get('language'));
  
          // Add it to the ViewRenderer
          $viewRenderer = Zend_Controller_Action_HelperBroker::getStaticHelper('ViewRenderer');
          $viewRenderer-&gt;setView($view);
          $view-&gt;doctype('XHTML1_STRICT');
  
          // Return it, so that it can be stored by the bootstrap
          return $view;
      }
  
  }
  </code></pre>
  
  <p>and my htaccess is located in the root to ignore public directory on the host:</p>
  
  <pre><code>RewriteEngine On 
  RewriteRule ^\.htaccess$ - [F] 
  RewriteCond %{REQUEST_URI} =""
  RewriteRule ^.*$ /public/index.php [NC,L] 
  RewriteCond %{REQUEST_URI} !^/public/.*$
  RewriteRule ^(.*)$ /public/$1 
  RewriteCond %{REQUEST_FILENAME} -f
  RewriteRule ^.*$ - [NC,L] 
  RewriteRule ^public/.*$ /public/index.php [NC,L]
  </code></pre>