在观看安装Drupal以促进地方发展时,我认为Drupal 8和Drupal 9附带了一个内置的PHP服务器,可以通过克隆内核和运行php -S localhost:8000来快速安装。然而,官方的地方发展指南并没有提到这一点,而是建议将DDEV用于本地开发。
如果内置PHP web服务器的安装速度如此之快,为什么我要使用DDEV或任何其他替代方案来进行本地开发(例如,WAMP/MAMP/XAMPP、Docker、Acquia's Cloud IDE等)?例如,这些替代方案是否具有内置PHP web服务器没有的特性?
发布于 2022-02-06 16:26:49
Drupal 8和9没有内置的and服务器。
php -S是PHP最基本的for服务器,用于有限的测试。阅读PHP手册中的更多内容.
PHP内置服务器不利于本地开发,因为您希望本地开发环境尽可能地与生产/活动环境相匹配,因此在本地运行生产中使用的同一台服务器是件好事。
DDEV、lando和其他基于docker的本地开发解决方案将允许您在将代码推送到生产服务器之前,密切模拟实际的let服务器并捕捉问题。
此外,PHP内置服务器也存在以下特定问题:
web服务器只运行一个单线程进程,因此如果请求被阻止,PHP应用程序将停止运行。
基本上,世界上所有的are服务器都是多线程的,但是PHP内置的服务器非常简陋,如果你做任何复杂的事情,都会窒息。
因此,除了最基本的测试之外,我甚至不会尝试使用内置PHP服务器进行任何操作。
发布于 2022-02-07 03:09:56
像DDEV这样的应用程序不仅仅是为一个网站服务。它们还可以管理数据库和缓存服务,或者添加有用的命令来快速备份数据。
但是通过使用Docker,他们孤立地处理这些问题。我可以在我的主PC上运行PHP8.0,使用PHP7.4/MySQL派生一个dev项目,在PHP8.1/Postgres中测试一个不同的项目,并修复对一个遗留的PHP7.2应用程序的紧急支持请求。
处理多个PHP版本、它们的扩展和支持服务变得和"DDEV“/ "DDEV”一样简单
https://drupal.stackexchange.com/questions/309572
复制相似问题