Php Zend framework站点和windows web托管是否存在问题?

Php Zend framework站点和windows web托管是否存在问题?,php,zend-framework,zend-studio,Php,Zend Framework,Zend Studio,Zend framework站点和windows web托管是否存在问题 我工作的公司的网络托管人员说有一个问题,该网站只能在基于linux的主机上工作。他给了我证件,让我试一试 PHP5使用Zend框架,并对wamp服务器中的index.php进行了一些修改。我在我个人电脑上的wamp服务器2上对其进行了编程。如果重要的话,Zend Studio将对其进行编程。ZF在Windows上运行正常。您甚至不必将index.php文件放在公共目录中 如果您的项目结构如下所示,并且他们的Windows主

Zend framework站点和windows web托管是否存在问题

我工作的公司的网络托管人员说有一个问题,该网站只能在基于linux的主机上工作。他给了我证件,让我试一试


PHP5使用Zend框架,并对wamp服务器中的index.php进行了一些修改。我在我个人电脑上的wamp服务器2上对其进行了编程。如果重要的话,Zend Studio将对其进行编程。

ZF在Windows上运行正常。您甚至不必将index.php文件放在公共目录中

如果您的项目结构如下所示,并且他们的Windows主机使用Apache,您可以将公用文件夹重命名为htdocs common Apache public folder:

-- application/
-- library/
-- public/
---- index.php
您的主机可能不愿意更改公用文件夹的某些设置,因为它们有一个自动脚本为它们执行此操作,并且很难根据每个帐户对其进行修改,但您也可以编辑index.php文件以适应任何结构

stock index.php文件如下所示:

<?php
// Define path to application directory
defined('APPLICATION_PATH')
    || define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../application'));

// Define application environment
defined('APPLICATION_ENV')
    || define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'production'));

// Ensure library/ is on include_path
set_include_path(implode(PATH_SEPARATOR, array(
    realpath(APPLICATION_PATH . '/../library'),
    get_include_path(),
)));

/** Zend_Application */
require_once 'Zend/Application.php';

// Create application, bootstrap, and run
$application = new Zend_Application(
    APPLICATION_ENV,
    APPLICATION_PATH . '/configs/application.ini'
);
$application->bootstrap()
            ->run();
如果您只是更改set_include_路径中的defines for APPLICATION_路径和library文件夹,那么在主机的库存设置中使用ZF应该没有问题


默认路径假定您的公用目录与应用程序和库文件夹位于同一文件夹中,但通过编辑上面的路径可以很容易地更改此路径。

您不能切换到Linux吗?我的意思是,如果你需要按照你工作的公司的主持人说的去做,你会怎么做?你担心什么?他这么说可能有上百个理由——对或错,所以没有人能真正回答你的问题。好了,开始弄清楚发生了什么。在Zend framework文件夹结构中,index.php位于/public文件夹中,这个家伙不知道他需要告诉服务器在那里查找这个文件。首先,如果Zend框架有帮助的话,这不是一个具体的Zend框架问题,而是一个关于服务器配置的问题,在某种程度上与Web服务器相关,而不是与操作系统相关。如果你的公司只提供linux支持,有什么不好?PHP也可以在linux上运行,我甚至推荐它用于生产。因此,如果在linux上运行时确实存在问题,最好三思而后行。如果没有,为什么要在意呢?我宁愿使用linux。但该公司为基于windows的主机付费,我无法改变任何东西。但是我想我可以修复它,这样它就会工作。你说index.php有问题。IIS中是否安装了一个?index.php是否配置为默认文档?一个简单的文件是否有效?