Now, I am not entirely sure if this is a Zend Framework bug (because I
have been digging through ZF and can't find anything related to why
this would occur), but was wondering if anyone else has encountered this
(or could provide insight):
On my localhost dev platform I use a directory named after the name of
the site (pretty standard) with the index.php and related stuff within
that directory. Now I am using a modulated application structure in a
totally separate directory.
The URL would look something like this:
http://127.0.0.1:8000/patispringmeyer/home/index
I know most of you are experienced, but, I will break it down for the
sake of disambiguation:
http://127.0.0.1:8000 = localhost apache server serving out of port 8000
- nothing of surprise there
/patispringmeyer = root directory of the WEBSITE
/home = module 'home' within the 'modules'
directory - contains all the necessary things
/index = index controller
Like I said, pretty standard - I have used this setup many times
successfully accept for this one special case. This is the error I
receive when trying to browse that URL (or any controller contained
within 'home' or ANY 4 letter named module!):
-----------------------------------------
*Warning*:
Zend_Loader::include_once(/home/web/apps/app_patispringmeyer/modules/home/controllers/IndexController.php)
[function.Zend-Loader-include-once
<http://192.168.2.4:8000/patispringmeyer/function.Zend-Loader-include-once>]:
failed to open stream: No such file or directory in
*/usr/home/web/libs/ZendFramework-1.0.3/Zend/Loader.php* on line *178*
*Warning*: Zend_Loader::include_once() [function.include
<http://192.168.2.4:8000/patispringmeyer/function.include>]: Failed
opening
'/home/web/apps/app_patispringmeyer/modules/home/controllers/IndexController.php'
for inclusion
(include_path='/usr/home/web/libs/htmlpurifier-2.1.3-strict/library:.::/home/web/libs/ZendFramework-1.0.3/:/home/web/libs/utilities/libraries/:/home/web/libs/utilities/helpers/')
in */usr/home/web/libs/ZendFramework-1.0.3/Zend/Loader.php* on line *178*
*Warning*:
Zend_Loader::include_once(/home/web/apps/app_patispringmeyer/modules/home/controllers/IndexController.php)
[function.Zend-Loader-include-once
<http://192.168.2.4:8000/patispringmeyer/function.Zend-Loader-include-once>]:
failed to open stream: No such file or directory in
*/usr/home/web/libs/ZendFramework-1.0.3/Zend/Loader.php* on line *178*
*Warning*: Zend_Loader::include_once() [function.include
<http://192.168.2.4:8000/patispringmeyer/function.include>]: Failed
opening
'/home/web/apps/app_patispringmeyer/modules/home/controllers/IndexController.php'
for inclusion
(include_path='/usr/home/web/libs/htmlpurifier-2.1.3-strict/library:.::/home/web/libs/ZendFramework-1.0.3/:/home/web/libs/utilities/libraries/:/home/web/libs/utilities/helpers/')
in */usr/home/web/libs/ZendFramework-1.0.3/Zend/Loader.php* on line *178*
Caught exception: Zend_Controller_Dispatcher_Exception -> message:
Invalid controller class ("IndexController")
----------------------------------------------
Now after extensive trial and error I have concluded upon these two
facts that determine the generation of that specific error message:
Any root website directory containing the 'index.php' file of a website
that has a directory name EXACTLY 15 characters long in addition to any
requested module name that is EXACTLY 4 characters long will result in
that error message. Shorter words and longer words of both in different
combos do not produce the error message.
Here is why I have posted to the list: I have dug through the related
Zend lib files that are used during the dispatch process and cannot find
a single shred of code that would at all impose such strange behavior
upon the web-application.
I cannot figure out if it is probably a bug in ZF, or if it is a
variable in my system I haven't figured out yet... This isn't a crucial
issue for me, but, it certainly is a curiosity (because I have spent the
last 4 days debugging).
Closest speculation is making me pin this as a PHP interpreter bug
because the error is being produced from include_once within the
Zend_Loader library; and on close inspection there is nothing
questionable going on in the PHP code...
---- Parnell