有没有办法把zip文件放在PHP include_path中?

时间:2009-05-27 11:04:41

标签: php zend-framework

在任何地方复制Zenf框架都是一场噩梦,所以我有一个想法,如果整个框架只是一个zip文件,部署会更快。有没有办法做到这一点?这会非常低效吗?

5 个答案:

答案 0 :(得分:2)

你真的必须每台服务器只部署一次,所以这不是一场噩梦。

但要回答你的问题:如果你的意思是你可以只包含一个ZIP文件,那么不。但是,为了减轻部署的痛苦,您可以将ZF作为zip文件上载到服务器,然后在远程计算机上将其解压缩。这比单独上传大量文件要快得多。

编辑:实际上,您可能可以实现自己的Zend_Loader版本,该版本知道如何处理zip文件。不过,我非常怀疑它会合理地运作。它很可能会导致比它解决的更多问题。

答案 1 :(得分:2)

从5.3开始(尽管它也可以作为PECL模块安装)PHAR文件 - http://pecl.php.net/phar& http://www.php.net/phar。然而,运行与整个ZF框架一样大的东西,其中大部分时间大部分时间都未使用,这将是过度的。我认为,当PHP5.3发布时,它的很大一部分也可能会以.PHAR文件的形式发布以供使用。

在此之前,没有。然而,复制它只是一次性交易。您也可以下载原始.tgz文件并将其解压缩到服务器上。

答案 2 :(得分:0)

我认为您仍然需要解压缩它,但不必将其复制到每个项目中。假设你有一个像这样的目录结构:

/htdocs
    /library
        /Zend
    /Project1
        [...]
        /public
            index.php
    /Project2
        [...]
        /public
            index.php

然后只需将index.php中的包含路径编辑为 ../ library 中的Zend_Framework:

../../library

答案 3 :(得分:0)

如果您正在使用基于Unix的环境,则在项目库文件夹下的Zend文件夹中添加符号链接也可以正常工作:

% cd /your/project/library
% ln -s /path/to/ZendFramework/library/Zend .

答案 4 :(得分:0)

你可以使用PHAR [1]扩展来管理这个:) PHAR扩展允许你使用类似的东西:

include 'phar:///path/to/zend-latest.tgz/file.php';

PS:PHAR也可以处理.zip或.tgz文件。
希望它有所帮助。欢呼声。

1:http://php.net/phar

相关问题