SLo*_*ris 10
你应该有这些线 composer.json
"require-dev": {
"heroku/heroku-buildpack-php": "*"
}
Run Code Online (Sandbox Code Playgroud)
一定要composer update在添加后运行.
经过大量的研究,反复试验和与Heroku支持团队的交谈,我发现,尽管Slow Loris的回答是该过程的一部分,但Heroku的支持给了我以下答案:
简而言之,PHP>应用程序不正式支持heroku local。原因是,与我们在平台上支持的所有其他语言不同,PHP没有用用户区编写的Web服务器。相反,我们将PHP-FPM>与Apache或Nginx一起使用,并且引导脚本(vendor / bin / heroku-(php | hhvm)-(apache2 | nginx))动态为端口> binding和FastCGI comms注入正确的配置。插座。
这适用于原始PHP和Apache构建,但前提是:
1)当前用户具有所有正确的权限(在您的情况下,> / var / log / apache2 /是不可写的);2)正确的代理模块被加载到主httpd.conf中;3)主httpd.conf根本没有绑定到端口,或者至少没有绑定到1024以下(为超级用户保留)的端口。
主配置还需要由每个用户自己处理,因为>有时,要加载的模块在libexec /中,有时在> lib / apache2 / modules /中,依此类推。太多的变化;否则,我们可以将完整的Apache配置交付给用户,体验会好得多。
但是问题并没有就此结束。FPM根本无法在Windows上运行,并且在大多数Linux系统上,httpd也不起作用。相反,apache2ctl>处理启动和停止,因此>在前台运行服务器>是不可能的。最后,系统配置中可能存在太多可能的排列,从而无法确保每个用户都拥有出色的体验。
这只是PHP领域中的当前现实。Ruby,Python,Node,Java都具有用每种相应语言编写的Web服务器,并且您不需要外部服务器。这也使流式上传文件,处理网络>套接字升级等成为可能。也许在PHP 7中我们很快就会看到类似的东西(在PHP 5中根本不可行,因为致命错误会杀死引擎,因此您的Web服务器也将消失)。
| 归档时间: |
|
| 查看次数: |
947 次 |
| 最近记录: |