0

ZendSkeletonApplication を使用して Web アプリを開発するために、kubuntu で Apache/PHP/MySQL を使用してローカル Web サーバーをセットアップしました。ドキュメント ルートは、ZSA のパブリック フォルダに設定されます。

<VirtualHost *>
    ServerName localhost
    ServerAdmin webmaster@localhost
    DocumentRoot "/var/www/ZendSkeletonApplication/public"
    <Directory /var/www/ZendSkeletonApplication/public>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride All
            Order allow,deny
            allow from all
    </Directory>
    ErrorLog /var/log/apache2/error.log
    LogLevel warn
    CustomLog /var/log/apache2/access.log combined
    ServerSignature On
</VirtualHost>

ZSA の public フォルダー内には、次のような .htaccess ファイルがあります。

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

http://localhostを正しく要求すると、 index.php. また、mod_rewrite は機能しています。と最後の一行を交わした

RewriteRule ^.*$ test.php [NC,L]

それをテストするために、それは動作します。

次に、アーキテクチャに慣れるために、単純な「Hello World」モジュールを作成しました。実際、私は異なるチュートリアルに従って 2 つのモジュールを作成しました。しかし、リクエストしようとするたびにhttp://localhost/helloworld404エラーが発生します

The requested URL /helloworld was not found on this server.

ZF2でルートを再確認しました。

この時点で私は立ち往生しています。私は本業の PHP 開発者であり、サーバー管理の知識があまりないため、私のセットアップはエラーが発生しやすい傾向にあります。

どこが間違っていたのか教えていただきたいです。私が確認できる落とし穴はありますか?他にどのような情報を提供する必要がありますか?

4

1 に答える 1

0

mod_rewrite は実際には正常に動作していましたが、エラーは私が読んだ両方のチュートリアルにありました。思い出すことができないかなりの数の設定を変更した後、404 が 500 サーバー エラーに変わりました。その後、Apache エラー ログにヒントが見つかりました。

どちらのチュートリアルでも、view/Modulename/Index/index.phtml にテンプレートを作成するように指示されていますが、view/modulename/index/index.phtml にする必要があります (小文字の名前に注意してください)。すべての小文字のパスで、現在は機能しています。

エラー ログのエラー メッセージ (同じエラーが発生した場合):

[Sat Sep 08 14:38:28 2012] [エラー] [クライアント 127.0.0.1] PHP 致命的なエラー: メッセージ「Zend\View\Renderer\PhpRenderer::render: Unable」で例外「Zend\View\Exception\RuntimeException」をキャッチできませんテンプレート「helloworld/index/index」をレンダリングします。/var/www/ZendSkeletonApplication/vendor/zendframework/zendframework/library/Zend/View/Renderer/PhpRenderer.php:451 でリゾルバーがファイルに解決できませんでした

于 2012-09-08T12:52:56.827 に答える