FAQ

Q: How do I use IIS as my web server on Windows instead of Apache?

For Zend_Controller to work correctly, all requests need to be directed to the ./htdocs/index.php file, which is achieved on Apache using a .htaccess file. In order to achieve this in IIS you must use an extension such as ISAPI_Rewrite, available from http://www.isapirewrite.com. There is a free/development version available to download.

The notes in the Zend Framework manual (http://framework.zend.com/manual/en/zend.controller.router.html#zend.controller.router.introduction) state:

When using IIS, $_SERVER['REQUEST_URI'] will either not exist, or be set as an empty string. In this case, Zend_Controller_Request_Http will attempt to use the $_SERVER['HTTP_X_REWRITE_URL'] value set by the Isapi_Rewrite extension.

Q: Why do I get a fatal error trying to include Zend/Loader.php?

This is most likely caused by an incorrect include_path in your PHP configuration. Assuming you have installed the application in /var/www/phpweb20, you need to ensure /var/www/phpweb20/include is in the PHP include_path. This can be set either in a .htaccess file, or in the web server configuation. Specifically, the line to use is as follows:

php_value include_path .:/var/www/phpweb20/include

Note that you will also need to include the path to your PEAR installation for the use of addon libraries such as Text_Captcha.

Dear Reader,

Many programming books on the market today focus specifically on a particular methodology or software package, and although you will gain a solid understanding of the subject matter from these books, you won't always know how to apply what you've learned in a real-world situation. This book is designed to show you how to bring together many different ideas and features by starting with a clean slate and gradually building the code base so it evolves into a complete web application.