简体   繁体   中英

How do you handle library dependencies during deployment using PHP?

this is a question on PHP mainly. I was wondering: How do you make sure that all necessary libaries are packaged with your application when you do a deployment to (production) servers?

A more concrete example: I have an app running on Zend Framework and each time I roll the application to a server the deployment process creates a fresh "installation" on that system. Therefore, I need to bundle Zend Framework together with my application and then copy the files to the right places together (it is done automatically). Currently, I am using a svn:externals definition to get the files out of Zend's SVN system during deployment, however, I don't want to rely on that SVN and I also don't want to put traffic on external SVNs with each deployment.

In the Java world, I am used to Maven which handles such stuff using central artifact repositries. I know that there is a Maven4PHP version, however, I am more looking for a PHP-based solution. Additionally, I don't believe that PEAR is a good way to go as it doesn't really fulfill my requirement of bundling the applicaiton (incl. libs) into a single deployable.

Is there some tool available already that I am not aware? Or do you have any great technique that I should know?

Thanks much for your help!

Michael

There's a build system called Phing which is written in PHP and based on Apache Ant.

I personally can very well live with externals.

我认为供应商分支可以很简单地解决你的例子中的问题,但如果你也不喜欢大型存储库,我建议你继续观看像作曲家这样的现代玩具及其解决的问题 (也许是phark ,我从未听过之前:))

It isn't production ready yet but you might want to keep an eye on the Phark project. It is a port of Bundler to PHP.

While looking through the Simplify your external dependency management slides I came across a tool called pantr which can be used as a PEAR installer. pantr as PEAR installer which allows you to specify your dependencies in a project specific file.

The article Version Control != Dependency Management has some information about using the new PEAR installer called Pyrus

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM