我是PHP和Mac OS X上的新手。
我在前端(笔记本电脑上的浏览器)上有以下代码:
$('form').on('submit', function(e) {
$.post( 'save.php', $(this).serialize(), function(response) {
console.log( response );
});
e.preventDefault();
});
这个简单的PHP代码在后端(我的笔记本电脑上的Apache服务器):
<?php
$f = $_POST['content']); //content is coming from a form textarea
echo $f;
我希望我提交的内容在控制台上回显(通过PHP)。相反,我在控制台中获取了整个PHP代码。我的基本理解是服务器没有执行PHP代码,而是将其作为纯文本返回。
我已经搜索了三个小时并执行了以下操作:
检查httpd.conf是否包含此行,它确实:
LoadModule php5_module modules / libphp5.so
将此添加到httpd.conf并重新启动Apache服务器:
AddType application / x-httpd-php .php
然后我开始阅读PHP文档并找到this,它描述了我遇到的问题和解决方案。问题是,与libphp5.so不同,我实际上在modules文件夹下没有mod_php.so或lib_perl.so文件。我也在Spotlight上搜索过它们,它没有返回任何内容。
那么......我还需要做什么/检查?提前谢谢。
答案 0 :(得分:0)
好的,我明白了。我认为问题源于我自己对OS X缺乏了解,尤其是Apache / MAMP(我对两者都不熟悉!)。具体来说,我没有意识到OS X运行自己的Apache服务器,而且当你安装MAMP时,它基本上为你提供了一个备用安装(我想?)。当我尝试使用'sudo apachectl -k start'从终端启动Apache时我意识到这一点,并且它说进程已经运行了。然后我做了一些谷歌搜索并理解了原因。
然后我实施了解决方案。以前,我拥有User \ Sites下的所有内容,而我正在以纯文本形式返回PHP脚本。我将文件移到了Applications / MAMP / htdocs。然后我运行了MAMP PRO,它显示Apache正在端口8888上运行。所以我导航到localhost:8888 / ~username /并提交了表单,PHP脚本处理正确,我得到了回声。
如果我的理解不正确,有人会纠正我。但至少我的小项目现在有效。 :)