在本地MacOS Jekyll站点(端口4000)上运行PHP代码
我已经在本地主机(MacOS Mavericks)上建立了一个Jekyll网站。该网站是服务于和一切关于杰基尔是运行良好 然而,我现在想要一个PHP的联系人表单,它允许我接收电子邮件。我在网站/文件夹中放置了一个contact.php文件,并将表单发布到该文件中。在我的远程web服务器上,这是完美的工作。但是,在本地主机上,不会解析PHP,并且在contact.PHP上显示纯文本。但是,PHP在localhost/contact.PHP上解析得非常好 如何让我的本地主机(Apache?PHP?)在本地Mac上处理PHP文件(而不破坏在同一端口上侦听的Jekyll网站)在本地MacOS Jekyll站点(端口4000)上运行PHP代码,php,localhost,jekyll,Php,Localhost,Jekyll,我已经在本地主机(MacOS Mavericks)上建立了一个Jekyll网站。该网站是服务于和一切关于杰基尔是运行良好 然而,我现在想要一个PHP的联系人表单,它允许我接收电子邮件。我在网站/文件夹中放置了一个contact.php文件,并将表单发布到该文件中。在我的远程web服务器上,这是完美的工作。但是,在本地主机上,不会解析PHP,并且在contact.PHP上显示纯文本。但是,PHP在localhost/contact.PHP上解析得非常好 如何让我的本地主机(Apache?PHP?)
不能使用同一端口。端口确定将处理IP地址上的请求的应用程序终结点。Jekyll服务器(WEBrick库)默认使用端口4000 处理此问题的典型方法是使用“web服务”添加动态功能。例如,建议使用FormKeep或SimpleForm之类的内容 您要求的是自己设置一个“web服务”。为此,它需要位于另一个端口或另一个IP地址上。“服务”只是作为一个端点来接受和处理您的表单帖子。在本例中,您可以在不同于Jekyll的端口上使用Apache/PHP设置Web服务器,例如标准端口80,然后编写一个PHP脚本(例如webform.PHP),该脚本与静态表单结合使用,用于响应和处理表单
注意:可以将Jekyll和Apache配置为响应端口4000上的请求。但是,两个应用程序(也称为服务器)不能同时运行。ip:端口组合决定将internet请求发送到哪个应用程序。我知道帖子很旧,但这可能有助于某人 Mike Stewart的回答非常好,描述了实现目标需要做些什么 为了补充这个答案,下面是我如何在Mac上进行这种开发的细节
- 在Apache中配置CORS
- 在默认端口4000上运行Jekyll站点
- 在默认端口8888上运行MAMP堆栈
- 代码进入MAMP的htdocs文件夹(htdocs/your_项目)
- PHP驻留在单独的“PHP”或“your_project”文件夹中的其他文件夹中
- 杰基尔监视“your_project”文件夹,并像往常一样编译到_站点