所有,
我的PHP Zend MVC应用程序结构如下:
billingsystem
-application
-design
-public
--index.php
--.htaccess
-library
-- Zend
每当应用程序加载时,它将转到公用文件夹中的index.php,并从那里重新路由..我想确保用户通过转到http://billingsystem/而不是转到http://billingsystem/public来访问系统.这是保持公开状态的Zend约定吗?夹.还是可以摆脱它并将文件移动到根目录?我尝试这样做,但是我的应用程序惨败,因为它无法找到Zend库并加载它的类.我的一些index.php代码如下:
// Define path to application directory
defined('APPLICATION_PATH')
|| define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../application'));
// Ensure library/ is on include_path
set_include_path(implode(PATH_SEPARATOR, array(
realpath(APPLICATION_PATH . '/../library'),
get_include_path(),
)));
// Ensure include/ is on include_path
set_include_path(implode(PATH_SEPARATOR, array(
realpath(APPLICATION_PATH . '/../include'),
get_include_path(),
)));
// Ensure application/models is on include_path
set_include_path(implode(PATH_SEPARATOR, array(
realpath(APPLICATION_PATH . '/../application/models'),
get_include_path(),
)));
/** Zend_Application */
require_once 'Zend/Application.php';
require_once 'Zend/Loader.php';
//Autoload Zend Classes
Zend_Loader::loadClass('Zend_Loader_Autoloader');
Zend_Loader_Autoloader::getInstance()->setFallbackAutoloader(true);
谢谢
解决方法:
ZF假定您将主机的文档根目录设置为公用文件夹.本质上是这样,因此您可以将应用程序代码置于“公共”空间之外.如果您使用的是Apache服务器,则可以在httpd.conf(1.x)或apache2.conf(2.x)文件中修改DocumentRoot指令.您的服务器本身可以具有DocumentRoot,也可以创建每个具有DocumentRoots的虚拟主机.这是有关为您的站点设置虚拟主机的不错的教程:http://apptools.com/phptools/virtualhost.php.Zend Wiki中还有一个很好的示例:http://framework.zend.com/wiki/display/ZFDEV/Configuring%2BYour%2BURL%2BRewriter
标签:zend-framework,php
来源: https://codeday.me/bug/20191106/2001468.html