【发布时间】:2013-12-25 23:47:31
【问题描述】:
我是 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 代码,而是将其作为纯文本返回。
我已经搜索了三个小时并做了以下事情:
- (重新)安装了 MAMP。
- 确保 Apache 服务器确实在运行
- 确保我通过 Apache 访问该站点,而不是在浏览器中将其作为文件打开。我在做 /localhost/~username/index.html
-
检查 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 上搜索了它们,但没有返回任何内容。
那么...我还需要做什么/检查?提前谢谢你。
【问题讨论】:
-
服务器配置问题更适合于 serverfault.com,所以更适合编程问题。
-
1.您的 php 文件中没有结束标记
?>2. 您是否在服务器上安装了 PHP?当您使用简单的echo在 apache 根目录中创建 index.php 时会发生什么?phpinfo() -
PHP 通常不解析
.html文件。将文件更改为.php,看看是否可行。 -
结束标签无关紧要。在所有 PHP 文件中都不需要它。您是否根据您的虚拟主机配置将这些文件保存在正确的目录中?
-
@alfasin 关闭标签实际上是不建议使用的,因为尾随空格之后结束标签将通过。