Zend framework 致命错误:类';Zend#u应用程序(u引导)(u引导#x27);浏览Bootstrap.php文件时未找到

Zend framework 致命错误:类';Zend#u应用程序(u引导)(u引导#x27);浏览Bootstrap.php文件时未找到,zend-framework,Zend Framework,首先,我是个新手。我成功地在wamp服务器中安装了zend framework。我的包含路径如下所示: include_path=“;E:\wamp\bin\php\zend_framework\library” 我已经创建了一个项目名“mehedi”。但是,当我浏览mehedi/application/目录中的Bootstrap.php文件时,会显示以下错误: Fatal error: Class 'Zend_Application_Bootstrap_Bootstrap' not found

首先,我是个新手。我成功地在wamp服务器中安装了zend framework。我的包含路径如下所示:

include_path=“;E:\wamp\bin\php\zend_framework\library”

我已经创建了一个项目名“mehedi”。但是,当我浏览mehedi/application/目录中的Bootstrap.php文件时,会显示以下错误:

Fatal error: Class 'Zend_Application_Bootstrap_Bootstrap' not found in E:\wamp`\www\mehedi\application\Bootstrap.php on line 4`
当我浏览到除mehedi/public/index.php之外的其他php文件时,它会显示一些致命错误

一切都好吗?或者我错过了一些重要的事情

以下是我的mehedi/application/configs/application.ini文件中的应用程序配置:

[production]
phpSettings.display_startup_errors = 0
phpSettings.display_errors = 0
includePaths.library = APPLICATION_PATH "/../library"
bootstrap.path = APPLICATION_PATH "/Bootstrap.php"
bootstrap.class = "Bootstrap"
appnamespace = "Application"
resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
resources.frontController.params.displayExceptions = 0

[staging : production]

[testing : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1

[development : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
resources.frontController.params.displayExceptions = 1

如果您使用Zend_工具命令行界面设置应用程序,并将
.htaccess
文件放入公用文件夹,这是默认设置。
您描述的这种行为是意料之中的。ZF MVC通过index.php文件路由所有请求(图像、css和javascript等资源除外)。因此,如果您可以直接路由到
Bootstrap.php
文件,那么您就会担心。

ZF中的所有URL的格式应为
www.example.com/moduleName/controllerName/actionName
,并能够根据需要附加参数。另请注意,
moduleName
是可选的,如果没有
moduleName
匹配路由,则默认为
controllerName

要测试您的安装,请使用如下url:
mehedi/public/index/
,您应该会看到默认的欢迎屏幕。添加控制器和操作时,您将自动添加新的url路由。

[编辑] 例如,如果添加一个名为
AdminController
(如果使用Zend_工具添加它,它将使用indexAction()自动构建)的控制器。您将能够使用
www.mehedi.com/admin/index
的url自动路由到
AdminController/indexAction
,这将正常工作。(在大多数应用程序中,索引被指定为默认操作,因此
www.mehedi.com/admin
将获得相同的结果)

顺便说一下,帮自己一个忙,建立一个能让生活变得更轻松的系统

下面是一个vhost的示例,如果您打算使用它,将localhost声明为第一个vhost是很重要的

httpd-vhosts.conf  with Include conf/extra/httpd-vhosts.conf enabled in httpd.conf
NameVirtualHost *:80
#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for all requests that do not
# match a ServerName or ServerAlias in any <VirtualHost> block.
#
<VirtualHost *:80>
    DocumentRoot "C:\Zend\Apache2/htdocs" #I use Zend server, make this match your wamp setup
    ServerName localhost
#directory settings for localhost are typically defined in httpd.conf
</VirtualHost>
<VirtualHost *:80>
    DocumentRoot "E:/wamp/www/mehedi/public"
    ServerName www.mehedi.com
    ErrorLog "path/to/your/log/file"
  <directory "E:/wamp/www/mehedi">
      Options Indexes FollowSymlinks
      AllowOverride all
      Order Deny,Allow
      Deny from all
      Allow from 127.0.0.1
  </directory>
</VirtualHost>
httpd.conf中启用Include conf/extra/httpd-vhosts.conf的httpd-vhosts.conf 名称虚拟主机*:80 # #虚拟主机示例: #几乎所有Apache指令都可以放入VirtualHost容器中。 #第一个VirtualHost部分用于所有不需要的请求 #在任何块中匹配ServerName或ServerAlias。 # DocumentRoot“C:\Zend\Apache2/htdocs”#我使用Zend服务器,使其与您的wamp设置相匹配 服务器名本地主机 #localhost的目录设置通常在httpd.conf中定义 DocumentRoot“E:/wamp/www/mehedi/public” 服务器名www.mehedi.com ErrorLog“路径/到/您的/日志/文件” 选项索引跟随符号链接 允许超越所有 命令拒绝,允许 全盘否定 允许从127.0.0.1开始
请务必记住,这种vhost设置旨在用于本地dev机器或内部网络服务器,除非您真的知道自己在做什么,否则您不会希望在生产服务器上执行此操作。

当我浏览到test/Bootstrap.php时,它不会显示任何错误,但会显示其他错误。我是否应该创建一个DocumentRoot为“E:/wamp/www/mehedi/public”的虚拟主机??如果是这样,那么假设我的站点url是www.mehedi.com moduleName=moduleMehedi controllerName=controllerMehedi actionName=actionMehedi,那么当我在“E:/wamp/www/mehedi/public”目录中只有index.php和.htaccess文件时,www.mehedi/controllerMehedi/actionMehedi将如何工作??不过,非常感谢您的回复。请您进一步解释一下您在回复中发布的一句话“当您添加控制器和操作时,您将自动添加新的url路由”。如何自动添加新的url路由以及在哪里??如果可能的话,请给我举个例子。。非常感谢。看来你在这个概念上有点问题。您/public文件夹中的index.php文件是唯一一个将位于public文件夹中的php文件。index.php和.htaccess文件将充当流量路由器,通过index.php将所有url请求路由到应用程序的其余部分。您不能直接向公众提供任何其他php文件。您将被允许从公共目录提供css、javascript和图像。这是一种提高网站安全性的方法,一旦你习惯了,也很容易做到。