appserver_Appserver.io乘员组访谈

appserver

What if you could reliably run PHP without Nginx or Apache, but also without relying on its internal server? What if you could do async operations in PHP with true multi threading, fully taking advantage of multi core processors without hacks or a jungle of callbacks? What if you had drag and drop installation support for your PHAR packaged web apps in an environment identical to its production counterpart? Enter Appserver (application server).

如果您可以在没有Nginx或Apache的情况下可靠地运行PHP,又无需依赖其内部服务器 ,该怎么办? 如果您可以使用真正的多线程在PHP中进行异步操作,而又充分利用了多核处理器而没有黑客或回调丛林,该怎么办? 如果您在与生产产品相同的环境中对PHAR打包的Web应用程序进行拖放安装支持该怎么办? 输入Appserver (应用程序服务器)。

The Appserver is developed in PHP for PHP and lets you do all that and more. There's no point in me boring you with the technical specifications – instead, here's the Appserver crew doing their best to explain what it is, why it is, and why you want it.

Appserver是用PHP for PHP开发的,可让您做更多的事情。 我没有必要让您无聊技术规范,而是让Appserver团队竭尽全力解释它的含义,原因,原因。

Screenshot from 2013-10-04 15:40:56

Bruno: Joining us today are Tim Wagner, Johann "Hans" Zelger and, occassionally, Stefan Wilkommer. Let's start out with a short introduction. Who are you as a group, and what are your roles, individually?

布鲁诺:蒂姆·瓦格纳(Tim Wagner),约翰·“汉斯·汉斯”·泽尔格(Johann“ Hans” Zelger)和偶尔的斯蒂芬·威尔科默(Stefan Wilkommer)今天也加入我们。 让我们从简短的介绍开始。 你们是谁,每个人分别是什么角色?

alt

Tim: We're just some guys working for TechDivision GmbH, a web agency in the south of Germany. Hans is actually working as Head of Magento, I'm still Head of Development. We've no real roles actually. Whenever we can we try to work together on new features …

蒂姆:我们只是为德国南部的网络代理商TechDivision GmbH工作的人。 Hans实际上是Magento的负责人,我仍然是开发部的负责人。 实际上,我们没有真正的角色。 只要有可能,我们便会尝试共同开发新功能……

alt

Stefan: I started to work for Tim 12 years ago at TechDivision. In 2006 I took over the company together with my brother Josef and we started working on open source web based projects. When Magento was introduced in 2007 we began to grow quite fast. Hans and Tim joined our Team in 2008 and 2009. Since then we worked on lots of projects in the PHP area. As I am a technician I was responsible for technology in the beginning but my role changed in the last years more in the direction of financial controlling and company strategy.

Stefan: 12年前,我开始在TechDivision工作于Tim。 2006年,我与兄弟约瑟夫(Josef)一起接管了公司,并开始从事基于开源Web的项目。 自2007年推出Magento以来,我们开始Swift发展。 Hans和Tim于2008年和2009年加入我们的团队。从那时起,我们在PHP领域从事许多项目。 当我是一名技术员时,我一开始负责技术,但最近几年我的角色发生了变化,朝着财务控制和公司战略的方向发展。

alt

Hans: I have been working with Tim for a long time on several customer projects for TechDivision GmbH. Tim has had the idea for the Application Server in PHP since I've known him. I was fascinated from the beginning, so I started working with him on the project whenever I had free time :)

汉斯:我已经与Tim长期合作,为TechDivision GmbH开展了多个客户项目。 自从我认识Tim以来,Tim就已经有了用PHP开发应用服务器的想法。 我从一开始就着迷,所以只要有空闲时间,我就开始与他合作进行这个项目:)

alt

Tim: Hans is focusing more on stuff like the pthreads integration and UI customization like the design and implementation of the new admin interface or the website. I'm more focused on stuff like configuration, optimization and deployment …

蒂姆:汉斯将重点更多地放在了pthreads集成和UI自定义等方面,例如新的管理界面或网站的设计和实现。 我更专注于配置,优化和部署等工作。

Bruno: So, what is Appserver, and why did you develop it?

Bruno:那么,Appserver是什么,为什么要开发它?

alt

Hans: Ok, I think thats Tim's part… he has an accurate perception of the Appserver :)

汉斯:好的,我认为那是蒂姆的角色……他对Appserver有一个准确的认识:)

alt

Tim: The Appserver is a middleware solution that provides services like a servlet container, a persistence container, a message queue, a timer service (can be used as some kind of CRON job) and a web socket server. We started with the servlet container that is more or less a webserver, not like Apache/Nginx, more like Tomcat. As many PHP applications out there are actually not ready to run in a servlet container, because they do not have any servlets yet, we're integrating a default servlet for such applications to make them work.

蒂姆: Appserver是一个中间件解决方案,提供的服务包括Servlet容器,持久性容器,消息队列,计时器服务(可以用作某种CRON作业)和Web套接字服务器。 我们从servlet容器开始,它或多或少是一个Web服务器,不像Apache / Nginx,更像是Tomcat。 由于许多PHP应用程序实际上尚未准备好在servlet容器中运行,因为它们还没有任何servlet,因此我们正在为此类应用程序集成一个默认servlet,以使其正常工作。

Bruno: Some people might be coming across the term "servlet" for the first time. Could you expand on it a little bit?

Bruno:有些人可能是第一次遇到“ servlet”一词。 您可以扩大一点吗?

alt

Tim: A servlet is a class in which the developer can implement his functionality. For example when you use a servlet engine you don't have an index.php for bootstrapping. Instead, you have a servlet that may have the role of a controller class, and the main bootstrapping will automatically be done by the servlet container.

蒂姆: Servlet是开发人员可以在其中实现其功能的类。 例如,当您使用servlet引擎时,没有用于引导的index.php 。 相反,您有一个可能具有控制器类角色的servlet,并且主引导程序将自动由servlet容器完成。

alt

Hans: Another important point is that Appserver includes a web server (the servletcontainer) so you don't need Apache or Nginx or any other alternative in front of your webapps.

Hans:另一个重要的一点是Appserver包含一个Web服务器(servletcontainer),因此您不需要在Webapp之前使用Apache或Nginx或任何其他替代方法。

Bruno: So, PHP itself serves your app? Does it use the internal PHP webserver as available from 5.4, or something else entirely? How does vhost configuration calculate into all this?

Bruno:那么,PHP本身为您的应用程序服务吗? 它是否使用5.4或更高版本提供的内部PHP网络服务器? 虚拟主机配置如何计算所有这些?

alt

Hans: That's correct. PHP itself serves the apps installed on the Appserver. We aren't using the internal php webserver included since 5.4 because we will provide the entire functionality of the Appserver written in clean PHP code. So everyone can improve the webserver functionality without learning C first. At the moment you can edit the main configuration file etc/appserver.xml for adding vhosts that point to specific webapps. Some time soon we'll provide a backend configuration panel for Appserver where you can do this kind of configuration more comfortably.

汉斯:没错。 PHP本身为安装在Appserver上的应用程序提供服务。 从5.4开始,我们就不再使用内部php网络服务器,因为我们将提供用干净PHP代码编写的Appserver的全部功能。 因此,每个人都可以改进Web服务器功能,而无需先学习C。 目前,您可以编辑主配置文件etc/appserver.xml以添加指向特定Web etc/appserver.xml的虚拟主机。 不久以后,我们将为Appserver提供一个后端配置面板,您可以在其中更轻松地进行这种配置。

Bruno: That sounds great! What about performance? Is this type of PHP's serving ability comparable to old school solutions like Nginx or Apache? Have you run any benchmarks to compare them in any way?

布鲁诺:听起来不错! 性能如何? 这种类型PHP的服务能力是否可以与Nginx或Apache这样的老式解决方案相提并论? 您是否运行过任何基准以任何方式进行比较?

alt

Tim: I discussed this with another PHP developer today :) We made some tests with Magento recently. On my local machine (Mac OS X Mountain Lion) a Magento catalog page will be delivered in about 320 ms, our Appserver needs 340 ms. From what we can tell, most developers will use the application server to serve existing applications like Magento or TYPO3.Neos. We'll optimize our servlet container for those kinds of applications in the upcoming releases. As we've done no performance optimizations yet we're actually quite sure that the end performance will be around Apache or Nginx. I'll add some screenshots :)

蒂姆:我今天和另一位PHP开发人员讨论了这一问题:)最近,我们与Magento进行了一些测试。 在我的本地计算机(Mac OS X Mountain Lion)上,Magento目录页面将在大约320毫秒内交付,我们的Appserver需要340毫秒。 据我们所知,大多数开发人员将使用应用程序服务器来服务现有的应用程序,例如Magento或TYPO3.Neos。 在即将发布的版本中,我们将针对那些类型的应用程序优化servlet容器。 由于我们尚未进行任何性能优化,因此实际上我们可以确定最终性能将围绕Apache或Nginx。 我将添加一些屏幕截图:)

Bruno: So about threading – which seems to be one of the main selling points of Appserver – can you explain to our beginner level readers what threading actually is and why PHP needs it?

Bruno:关于线程问题-线程问题似乎是Appserver的主要卖点之一-您能向我们的入门级读者解释什么是真正的线程以及PHP为什么需要它吗?

alt

Tim: Hans is the right guy for that question :)

蒂姆:汉斯是那个问题的合适人选:)

alt

Hans: Multithreading is a very important thing for the Appserver and the future of PHP thanks to Joe Watkins who started the pthreads extension for PHP some years ago. Through pthreads we're able to handle every user-request coming from browsers to the servlet container (webserver) at the same time asynchronously. Imagine request-handling without being able to do this in threads. Every user would block the other users' request as long as PHP processes it and serves the response. As many of you will now say "Ok, why aren't you using event based loops like done with react-php?" The main advantage of using threads in your application is that all cpu cores will be used instead of just one core running at full load. The other big plus is that your code will stay clean and debugabble without having a callback massacre ;)

Hans:多线程对于Appserver和PHP的未来非常重要,这要归功于Joe Watkins,他几年前开始为PHP启动pthreads扩展。 通过pthread,我们能够异步处理来自浏览器到servlet容器(Web服务器)的每个用户请求。 想象一下无法在线程中执行请求处理。 只要PHP处理并提供响应,每个用户都会阻止其他用户的请求。 正如许多人现在所说的:“好吧,为什么不使用像react-php这样的基于事件的循环?” 在应用程序中使用线程的主要优点是将使用所有cpu内核,而不是仅使用一个在满负载下运行的内核。 另一个大优点是您的代码将保持干净和调试状态,而不会发生回调大屠杀;)

Bruno: Can't argue with that :)

布鲁诺:不能与之争论:)

alt

Tim: Additionally, beside the application server, we think that threading is a functionality that can bring PHP to the next level of developing web applications. In our projects we always face problems like big data imports where PHP is lacking. As Hans said before, using threads allows us to import data using all the resources of your machine and not have 23 cores waiting while one will do the job.

蒂姆:此外,除了应用程序服务器之外,我们认为线程化是一项功能,可以将PHP带入开发Web应用程序的下一个层次。 在我们的项目中,我们经常遇到缺少PHP的大数据导入之类的问题。 正如Hans之前所说,使用线程可以让我们使用您计算机的所有资源来导入数据,而无需等待一个工作的23个内核。

Bruno: Excellent. Now, while on the topic of threads.. I've seen hundreds of questions wondering about PHP and thread safety. Your documentation also says it requires PHP to be compiled thread safe. What exactly is thread safety, and why would anyone compile PHP in a thread unsafe way, if the former is better?

布鲁诺:太好了。 现在,在讨论线程主题时。我已经看到数百个问题,这些问题想知道PHP和线程安全性。 您的文档还说它要求PHP被编译为线程安全的。 线程安全到底是什么?如果前者更好,为什么有人会以线程不安全的方式编译PHP?

alt

Tim: You're right Bruno, we had this problem and discussed that a lot. Finally we found a solution that we think will fit nearly everyone :) To solve the problem of everyone having to compile PHP as thread safe by themself, we created a runtime that delivers a separate system independent PHP runtime environment compiled thread safe. This means that you only have to install this runtime and the application server will work. Actually we've got packages for Mac OS X 10.8.x and Debian Wheezy. Hopefully with the next release we will also have an RPM working on Fedora and RH Linux. As I'm not a C developer, I hope I can explain it accurately. Thread safety means that the internal globals also have to be thread safe and should be available in every context by every extension that should work in a thread safe compiled environment, but doesn't collide by creating a local storage. We also discussed that there are many claims out there saying we'll have a problem because there are many extensions that are not thread safe. This is true, but many of them work well regardless of thread safety, so we delivered the Appserver with all the default stuff many of the hosters out there also deliver, which should be enough for now. Additionally, we're contacting maintainers of extensions we think may be useful and discuss to fix things if they are not already thread safe. As there are still extensions that are not thread safe and thread safety is not necessary to run most of the applications out there by default PHP will be delivered without thread safety. On windows there are thread safe compiled binaries available because in some Windows multithreaded webserver environments, like Apache 2, you need thread safety enabled for everything to work as expected.

蒂姆:你是对的布鲁诺,我们遇到了这个问题,并进行了很多讨论。 最后,我们找到了一个我们认为几乎适合每个人的解决方案:)为了解决每个人都必须自己将PHP编译为线程安全的问题,我们创建了一个运行时,该运行时提供了独立于系统的独立PHP运行时环境,而编译后的线程安全。 这意味着您只需要安装此运行时,应用程序服务器即可工作。 实际上,我们已经为Mac OS X 10.8.x和Debian Wheezy提供了软件包。 希望在下一个发行版中,我们还将有一个在Fedora和RH Linux上运行的RPM。 由于我不是C开发人员,所以希望我能准确地解释一下。 线程安全性意味着内部全局变量也必须是线程安全的,并且应该在每个上下文中在每个上下文中都可用,每个扩展都应在线程安全的编译环境中工作,但不会因创建本地存储而发生冲突。 我们还讨论了许多声明,说我们会遇到问题,因为有许多扩展不是线程安全的。 的确如此,但是不管线程安全性如何,它们中的许多都可以很好地工作,因此我们交付了Appserver并附带了许多托管者还提供的所有默认内容,到目前为止,这已经足够了。 此外,我们正在与我们认为可能有用的扩展维护人员联系,并讨论解决某些尚不安全的问题。 由于仍然有一些扩展不是线程安全的,因此默认情况下运行大多数应用程序都不需要线程安全,因此默认情况下,PHP将在没有线程安全的情况下交付。 在Windows上,存在可用的线程安全编译二进制文件,因为在某些Windows多线程Web服务器环境(例如Apache 2)中,您需要启用线程安全性才能使一切正常工作。

Bruno: So, Appserver is a full package then? Seeing as Appserver serves apps on its own, is it a rounded up whole like an XAMP package, or do users still need to have preinstalled software to get it to run?

Bruno:那么,Appserver是一个完整的软件包吗? 看到Appserver自己提供应用程序,它是像XAMP软件包那样经过综合的整体,还是用户仍然需要预先安装软件才能运行它?

alt

Tim: Yes, the application server is a full package, but on Linux systems we only delivered the compiled PHP together with several configuration files and used the libraries delivered by the system (installation will be automatically done by the distributions dependency management). This is to make sure that security fixes will be closed as soon as the distribution delivers an update. Since Mac OS X has no dependency management solution like APT or YUM we deliver everything that is not part of the default Mac OS X distribution but is necessary to run the application server. Also part of the runtime are init scripts to start and stop the application server and plist files for the Mac OS X launch daemons.

蒂姆:是的,应用程序服务器是一个完整的软件包,但是在Linux系统上,我们只交付了已编译PHP以及几个配置文件,并使用了系统交付的库(安装将由分发依赖管理自动完成)。 这是为了确保在分发发布更新后,安全修复程序将被关闭。 由于Mac OS X没有像APT或YUM这样的依赖项管理解决方案,我们提供的所有内容都不是默认Mac OS X发行版的一部分,而是运行应用程序服务器所必需的。 运行时中还有一部分初始化脚本,用于启动和停止Mac OS X启动守护程序的应用程序服务器和plist文件。

Bruno: Am I then correct in assuming that Appserver is encapsulated enough not to bother people's current installation of PHP? Users can still have their old setup AND run application server alongside it without any side effects?

Bruno:那么我是否认为Appserver封装得足够紧,不会打扰人们当前PHP安装是否正确? 用户仍然可以保留其旧设置并与之一起运行应用程序服务器,而没有任何副作用?

alt

Hans: Absolutely correct. It was an important point for us to keep the users running-system clean.

汉斯:完全正确。 对我们来说,重要的一点是要保持用户运行系统的清洁。

alt

Tim: We didn't find any side effects yet as we don't overwrite or replace anything delivered by the distribution.

蒂姆:我们还没有发现任何副作用,因为我们没有覆盖或替换发行版提供的任何内容。

Bruno: Awesome. About the license now – is Appserver fully open source, and if so, do you intend to keep it as such for the foreseeable future, or do you intend to make some parts proprietary?

布鲁诺:太好了。 关于许可证的现在-Appserver是否完全开源,如果是这样,您是否打算在可预见的将来保持原样,还是要使某些零件专有?

alt

Tim: Stefan will give you the answer :)

蒂姆:斯蒂芬会给你答案:)

alt

Stefan: As we are all open source enthusiasts, the Appserver will always be delivered with fully open source code, but as we think this product will increase the enterprise capability of the PHP environment we believe that there will be a high demand of customers for enterprise services and support along with this product. The idea to satisfy these customer needs is in delivering special versions with some more sophisticated monitoring and scaling features as well as SLA and Support.

Stefan:由于我们都是开放源代码爱好者,因此Appserver将始终提供完全开放源代码,但是由于我们认为该产品将提高PHP环境的企业功能,因此我们认为客户对企业的需求很高服务和支持以及此产品。 满足这些客户需求的想法是提供具有一些更复杂的监视和扩展功能以及SLA和支持的特殊版本。

Bruno: I was going to ask this exact thing next – so you are planning to have a sort of "freemium" model? In other words, you will be offering commercial support and fine tuning for implementation and development of enterprise editions?

布鲁诺:我接下来要问这个确切的问题–那么您打算使用某种“免费增值”模式吗? 换句话说,您将为企业版的实施和开发提供商业支持和微调吗?

alt

Stefan: Exactly. We don't not have any plans or an exactly defined subscription model ready but we are working on that as we really believe this is an important and essential part for enterprise customers. We are not sure if we should call this enterprise edition but we are using that also as a working title at the moment.

斯蒂芬:是的 。 我们尚无任何计划或确切定义的订阅模型,但我们正在努力解决这一问题,因为我们确实认为这对企业客户而言是重要且必不可少的部分。 我们不确定是否应将此企业版称为“企业版”,但目前我们还将其用作工作名称。

Bruno: Alright. So, what's the one thing you need most from the community right now, in terms of contributions?

布鲁诺:好吧。 那么,就捐款而言,您现在最需要社区提供的一件事是什么?

alt

Tim: What we need most are guys that will give the application server a try and try to run their favourite application in it. Addionally, we'll appreciate every developer who is interested in being a part of our development team and is as fascinated as we are with the idea of bringing the application server to all PHP developers out there as the standard solution for implementing enterprise PHP apps :) As solutions like NodeJS appear we think that it'll be necessary for PHP also to take the next step and jump into this future where it's necessary to deliver real enterprise applications based on real enterprise middleware solutions.

蒂姆:我们最需要的是会尝试给应用程序服务器并尝试在其中运行他们喜欢的应用程序的人。 此外,我们将感谢所有有兴趣成为我们开发团队成员并且对将应用服务器带到所有PHP开发人员作为实现企业PHP应用程序的标准解决方案的想法着迷的开发人员: )随着诸如NodeJS之类的解决方案的出现,我们认为PHP也有必要迈出下一步,跳入这个未来,在此有必要基于真实的企业中间件解决方案交付真实的企业应用程序。

Bruno: So a test horde? I think we can help with that :)

布鲁诺:那么一个测试部落? 我想我们可以帮助您:)

alt

Hans: Of course there will always be testing, but we hope to find people sharing our enthusiasm in taking PHP and the Appserver to the next level with their ideas and experience.

Hans:当然总会有测试,但是我们希望找到人们,他们将自己的想法和经验带入将PHP和Appserver提升到一个新水平的热情。

Bruno: That makes sense, Johann. There's no product without its community. What's Appserver's current development status, and when do you expect it to be production ready?

布鲁诺:这是有道理的,约翰。 没有社区就没有产品。 Appserver的当前开发状态​​如何?您何时期望将其投入生产?

alt

Tim: We think we are actually having alpha status for the servlet container, the first part we'll have to deliver. The other services are in heavy development and can only be used for testing purposes. We have a basic roadmap on what version will deliver which features/services, but we don't consider it final yet. We hope to finish the servlet container this year, meaning 0.7 will be delivered through December. For a production ready system that delivers all services planned for version 1.0, we targeted the middle of next year :)

蒂姆:我们认为我们实际上已经具有servlet容器的alpha状态,这是我们必须交付的第一部分。 其他服务正在大量开发中,只能用于测试目的。 我们有关于什么版本将提供哪些功能/服务的基本路线图 ,但我们还没有最终确定。 我们希望今年完成servlet容器的工作,这意味着0.7将于12月交付。 对于可提供1.0版计划的所有服务的生产就绪型系统,我们的目标是明年中旬:)

Bruno: Nice, let's hope you hit that deadline! Seeing as it'll be as close to a single-package solution as we can get these days, how easy or hard would it be to upgrade Appserver with additional PHP extensions? For example, I'm a big fan of Phalcon and being able to use something that powerful in a multi threaded environment would surely be a winning combination.

布鲁诺:好的,希望您能在截止日期之前完成! 如今看来,这将与单软件包解决方案非常接近,因此使用附加PHP扩展来升级Appserver会多么容易或困难? 例如,我是Phalcon的忠实拥护者 ,能够在多线程环境中使用强大的功能肯定是一个成功的组合。

alt

Hans: You can easily upgrade the Appserver components with the integrated composer binary doing /opt/appserver/bin/composer update. And of course there is also the possibility to install your favourite PHP extension assuming its thread-safe compatible. As we deliver the Appserver as complete package you will find all php tools like PECL and PEAR within the "bin" folder.

Hans:您可以使用集成的composer二进制文件/opt/appserver/bin/composer update轻松升级Appserver组件。 当然,也可以在假定您PHP扩展与线程安全兼容的情况下安装您喜欢PHP扩展。 当我们以完整的软件包形式交付Appserver时,您将在“ bin”文件夹中找到所有PHP工具,例如PECL和PEAR。

alt

Tim: I've never heard of Phalcon, but after having a quick look at the website it seems really interesting. I've compiled it meanwhile and it seems that'll work :)

蒂姆:我从未听说过Phalcon,但快速浏览一下网站后,似乎真的很有趣。 我已经编译了它,似乎可以工作了:)

alt

Hans: How agile was that, Tim! :D

汉斯:太敏捷了,蒂姆! :D

alt

Stefan: I'm really impressed :)

斯特凡:我真的很感动:)

alt

Tim: You can do this by cloning the github repository and enter /opt/appserver/bin/phpize inside the extension ext directory. After that you can configure and compile the extension with ./configure --with-php-config=/opt/appserver/bin/php-config && make && make install. After that, you have to add the extension with echo extension=phalcon.so >> /opt/appserver/etc/conf.d/phalcon.so and restart the application server with /etc/init.d/appserver restart. That should do it :)

蒂姆:您可以通过克隆github存储库并在扩展名ext目录中输入/opt/appserver/bin/phpize来实现。 之后,您可以使用./configure --with-php-config=/opt/appserver/bin/php-config && make && make install来配置和编译扩展。 之后,您必须使用echo extension=phalcon.so >> /opt/appserver/etc/conf.d/phalcon.so添加扩展名,并使用/etc/init.d/appserver restart应用程序服务器。 那应该做的:)

Bruno: Hah. that's brilliant! I'm going to give that a go immediately after we finish this interview, sounds too good to be true :) You mentioned Composer and the Quora question gave hint that all components can be downloaded through it. Could you elaborate on that?

布鲁诺:嗯。 太精彩了! 在结束这次采访后,我将立即尝试一下,听起来太好了, 难以置信 :)您提到了Composer, Quora问题提示所有组件都可以通过它下载。 您能详细说明一下吗?

alt

Tim: Yes, for sure. As every component of the application server is a Composer module you can update the application server itself with Composer. To do this change into the application server's base directory and type bin/composer update. That's all :) But as we're in heavy developent we do actually NOT recommend this, because there is a really high possibility to fetch some things that are actually not compatible. We hope that with the next version we'll have some tagged packages, so this should not happen any more. BTW you can find all components on github.

蒂姆:是的,可以肯定。 由于应用程序服务器的每个组件都是Composer模块,因此可以使用Composer更新应用程序服务器本身。 为此,请更改到应用程序服务器的基本目录,然后键入bin/composer update 。 仅此而已:)但是,由于我们处在繁重的开发过程中,因此我们实际上不建议这样做,因为很有可能会获取一些实际上不兼容的东西。 我们希望在下一个版本中,我们将提供一些带标签的软件包,因此不再应该发生这种情况。 顺便说一句,您可以在github上找到所有组件。

Bruno: Great :) Do you have any plans to present Appserver on PHP conferences around the world?

Bruno:太好了:)您是否有计划在全球PHP会议上展示Appserver?

alt

Tim: Yes, we have :) we have a session at PHPConference in Munich on Monday, October 28, 2013 – 5:00pm to 6:00pm (http://phpconference.com/2013/en/sessions) and i also have a session on PHP Developer Conference in Hamburg on 8th of november from 4:00pm to 5:00pm (http://www.developer-conference.eu/session_post/thread-basierte-anwendungsentwicklung-mit-php/)

蒂姆:是的,我们有:)我们在2013年10月28日星期一在慕尼黑PHPConference上举行会议-5:00 pm至6:00 pm( http://phpconference.com/2013/en/sessions ),我也有11月8日4:00 pm至5:00 pm在汉堡举行PHP开发者大会上的会议( http://www.developer-conference.eu/session_post/thread-basierte-anwendungsentwicklung-mit-php/ )

Bruno: That's good exposure, no doubt. Maybe we'll meet on some of those conferences :) So, where can people find some sample applications to play around with? Where can they go to learn more about the project?

布鲁诺:毫无疑问,那是很好的曝光。 也许我们会在其中一些会议上见面:)那么,人们在哪里可以找到一些示例应用程序呢? 他们在哪里可以了解有关该项目的更多信息?

alt

Tim: Yes, I hope we do, Bruno :) You can find sample applications on our github respositories too. Actually we have a Magento and a TYPO3.Neos example that works. To give it a try you can clone the repositories and run the init-instance targets by using ANT. That'll install the examples in the application severs webroot /opt/appserver/webapps. After installation you have to open the URL http:127.0.0.1:8586/magento or http://neos.local:8586/setup (Neos needs a host entry named neos.local in your /etc/hosts file to work) to finish the installation in your browser. Addionally we are working on PHAR based deployment of applications. We've finished some tests with Magento and TYPO3.Neos successfully – you can see that in a video on our Facebook page (https://www.facebook.com/appserver.io). This will also be part of the next version 0.5.8 beta that we'll release this month :) We'll provide the installable PHAR's on our website eventually. They'll have a signature then so that they can be verified when installion in the application server will be done :) To make it easier in the future, we'll create something like an appstore where you can download the applications you want to run in the application server directly out of the admin interface – this will make starting out a little bit easier we think!

蒂姆:是的,我希望我们能做到,布鲁诺:)您也可以在我们的github仓库上找到示例应用程序。 实际上,我们有一个Magento和TYPO3.Neos示例可以正常工作。 要尝试一下,您可以克隆存储库并使用ANT运行init-instance目标。 这样会将示例安装在应用程序服务器webroot /opt/appserver/webapps 。 安装后,您必须打开URL http:127.0.0.1:8586/magentohttp://neos.local:8586/setup (Neos需要在/etc/hosts文件中有一个名为neos.local的主机条目才能工作)以在浏览器中完成安装。 另外,我们正在基于PHAR的应用程序部署中进行工作。 我们已经成功使用Magento和TYPO3.Neos完成了一些测试–您可以在我们的Facebook页面的视频( https://www.facebook.com/appserver.io )中看到该测试。 这也将是本月发布的下一个0.5.8 beta版的一部分:)我们最终将在我们的网站上提供可安装的PHAR。 它们将具有签名,以便在完成在应用程序服务器中的安装时可以对其进行验证:)为了使将来更容易,我们将创建一个类似于appstore的东西,您可以在其中下载要运行的应用程序在应用服务器中直接从管理界面中退出–这将使我们认为更容易入门!

Bruno: Definitely! Good stuff, I'll definitely keep an eye on the project as it develops. Do you have anything else you'd like our readers to know before we wrap up?

布鲁诺:绝对! 好东西,随着项目的发展,我一定会注意的。 在我们总结之前,您还有其他想让读者知道的内容吗?

alt

Hans: We're currently working on documentation, so meanwhile everyone who needs help can join our irc channel on freenode #appserver. Tim and me are there the most time :)

汉斯:我们目前正在编写文档,因此,每个需要帮助的人都可以在freenode #appserver上加入我们的irc频道。 蒂姆和我在一起的时间最多:)

alt

Tim: And… what we really want to say is: Be part of the application server team and have fun developing cool stuff. We'll start having code sprints together at famous locations, plan things together and release a great software solution that'll change the PHP ecosystem… hopefully ;)

蒂姆:而且……我们真正想说的是:成为应用服务器团队的一员,并乐于开发有趣的东西。 我们将开始在著名的地点一起进行代码冲刺,一起进行计划,并发布一个很棒的软件解决方案,以期改变PHP生态系统……希望;)

alt

Hans: Some weeks ago we had our code spring in Mallorca, Spain. Very efficient and relaxing :)

汉斯:几周前,我们在西班牙马略卡岛举行了代码Spring展。 非常高效和放松:)

Bruno: Awesome :) Thank you very much guys, and good luck with further development, I'm sure we'll talk more on IRC in the coming weeks – I'll definitely be experimenting.

Bruno:太好了:)非常感谢你们,并祝我进一步发展。我敢肯定,我们将在未来几周内谈论IRC的更多内容–我一定会做实验。

翻译自: https://www.sitepoint.com/interview-appserver-io-crew/

appserver

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值