簡體   English   中英

PHP代碼在瀏覽器中顯示為純文本,未經處理

[英]PHP code is shown in browser as plain-text and not processed

我對PHP和Mac OS X上的開發都是新手。

我在前端(筆記本電腦上的瀏覽器)上有以下代碼:

$('form').on('submit', function(e) {
    $.post( 'save.php', $(this).serialize(), function(response) {
        console.log( response );
    });

    e.preventDefault();
});

以及后端(我的筆記本電腦上的Apache服務器)上的以下簡單PHP代碼:

<?php

$f = $_POST['content']); //content is coming from a form textarea

echo $f;

我希望我提交的所有內容都會在控制台上被PHP回顯。 相反,發生的是我在控制台中獲得了整個PHP代碼。 我的基本理解是服務器未執行PHP代碼,而是將其作為純文本返回。

我搜索了三個小時,然后執行以下操作:

  1. (重新)安裝了MAMP。
  2. 確保Apache服務器實際上正在運行
  3. 確保我通過Apache訪問該站點,而不是在瀏覽器中將其作為文件打開。 我在做/localhost/~username/index.html
  4. 檢查一下httpd.conf是否包含此行,它是否包含:

    LoadModule php5_module modules / libphp5.so

  5. 將此添加到httpd.conf並重新啟動Apache服務器:

    AddType應用程序/ x-httpd-php .php

然后,我開始閱讀PHP文檔並發現了這個文檔,它描述了我遇到的問題和解決方案。 問題是,與libphp5.so不同,我實際上在modules文件夾下沒有mod_php.so或lib_perl.so文件。 我也在Spotlight上搜索了它們,但沒有返回任何內容。

所以...我還需要做/檢查什么? 先感謝您。

好吧,我知道了。 我認為問題源於我對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腳本得到了正確處理,並得到了回顯。

如果我的理解不正確,請有人糾正我。 但是至少我的小項目現在可以正常工作。 :)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM