2012-05-03 12 views
0

まずファイルbootstrap.phpのを参照する場合、クラスは「Zend_Application_Bootstrap_Bootstrap」が見つかりません。私は、私のWAMPサーバーに成功フレームワークをインストールしました。次のように含まれ、私のパスは次のとおりです。致命的なエラー:私は初心者ですすべての

のinclude_path = "; E:\ WAMPビン\ phpの\ \ zend_framework \ライブラリ"

私はプロジェクト名 "mehedi" を作成できます。しかし、私は、それは次のようなエラーが表示さmehedi /アプリケーション/ディレクトリにある私のbootstrap.phpのファイルを参照する場合:

Fatal error: Class 'Zend_Application_Bootstrap_Bootstrap' not found in E:\wamp`\www\mehedi\application\Bootstrap.php on line 4` 

それはいくつかの致命的なエラーを示しindex.phpで、私は/公共/ mehedi除いて、他のPHPファイルを参照する場合。

は大丈夫か、私は重要な何かを見逃しているすべてです。ここで

私mehedi /アプリケーション/のconfigs /のapplication.iniファイル内のアプリケーションの設定です:あなたがにZend_Toolコマンドラインインターフェイスを使用してアプリケーションを設定し、それが公の場で.htaccessファイルを置く場合

[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 
+0

私は/ bootstrap.phpのをテストするために参照するとき、それはすべてのエラーを示しますが、それ以外はありませんしていません。 "E:/ WAMP/WWW/mehedi /パブリック" – mehedi

答えて

0

デフォルトのままです。
説明したこの動作は予期されています。 ZF MVCは、すべてのリクエストをindex.phpファイルにルーティングします(images、css、javascriptなどのリソースを除く)。あなたのBootstrap.phpファイルに直接接続できるのであれば、あなたは心配しています。

ZFのすべてのURLは、必要に応じてパラメータを追加してください。www.example.com/moduleName/controllerName/actionNameの形式にする必要があります。また、moduleNameはオプションであり、ルートに一致するものがmoduleNameでない場合は、デフォルトでcontrollerNameになります。

インストールをテストするには、mehedi/public/index/のようなURLを使用してください。デフォルトの開始画面が表示されます。コントローラとアクションを追加すると、新しいURLルートが自動的に追加されます。

[EDIT] 例えば、あなたは(あなたはそれがindexAction()を自動的に構築されますにZend_Toolでそれを追加した場合)AdminControllerと呼ばれるコントローラを追加する場合。 www.mehedi.com/admin/indexのURLを使用してAdminController/indexActionに自動的にルーティングすることができます。 (ほとんどのアプリケーションでは、インデックスがそのようwww.mehedi.com/adminは、同じ結果を達成するであろう、デフォルトのアクションとして指定されている)

P.S.あなたの自己好意を持って、セットアップすると、それは人生をはるかに楽にします。

あなたの仮想ホストは次のような例です。使用する場合は、localhostを最初の仮想ホストとして宣言することが重要です。

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> 

それはバーチャルホストの設定のこの種を覚えておくことが重要ですが、ローカルのdevのマシンまたは内部ネットワークのサーバー上で使用することを意図しているあなたは本当にあなたが何であるかを知っている限り、あなたは、本番サーバー上でこれを行うにはしたくないだろうやって

+0

は、私がの のDocumentRootと仮想ホストを作成する必要があります ? そうなら、私の サイトのURLがwww.mehediであると仮定します。comの moduleNameの= moduleMehedi コントローラ名= controllerMehedi てactionName = actionMehedi それから私はE」でのみのindex.phpと.htaccessファイルを持っている場合www.mehed.com/moduleMehedi/controllerMehedi/actionMehediが動作する方法:/ WAMP/WWW/mehedi/public "ディレクトリ? ご回答いただきありがとうございます。 – mehedi

+0

返信に投稿した行をもう少し詳しく説明してください。 "コントローラーとアクションを追加すると自動的に新しいURLルートが追加されます。" 新しいURLルートはどこに自動的に追加されますか? 可能であれば、例を挙げてください。 ありがとうございます。 – mehedi

+0

あなたはコンセプトに少し問題があるようです。あなた/パブリックフォルダ内のindex.phpファイルは、パブリックフォルダ内にある唯一のPHPファイルです。 index.phpと.htaccessファイルは、すべてのURLリクエストをindex.phpを通してアプリケーションの残りの部分に送るトラフィックルーターとして機能します。他のPHPファイルを直接公開することはできません。あなたはあなたのパブリックディレクトリからCSS、javascriptおよびイメージを提供することが許可されます。これはサイトのセキュリティを強化する方法であり、使い慣れればかなり簡単です。 – RockyFord