1. 程式人生 > >40.apache與php結合、Apache默認虛擬主機

40.apache與php結合、Apache默認虛擬主機

apache與php結合

一、apache與php結合
  • 首先打開本地的telnet客戶端(測試端口使用)
    技術分享圖片技術分享圖片
    技術分享圖片技術分享圖片
    技術分享圖片
    /usr/local/apache2.4/bin/apachectl start //啟動apache服務
  • 修改apache配置文件
  • 因為之前加載了php5和php7,所以這裏關閉其中一個,運行其中一個
    技術分享圖片
    vim /usr/local/apache2.4/conf/httpd.conf //修改以下4個地方
  • ServerName 前面的#去掉
  • Require all denied 改為 Require all granted
  • 添加 AddType application/x-httpd-php .php
  • DirectoryIndex index.html 後加 index.php

    技術分享圖片
    技術分享圖片
    技術分享圖片
    技術分享圖片

    技術分享圖片

  • 保存配置文件之後
    /usr/local/apache2.4/bin/apachectl -t //測試語法是否正確
    /usr/local/apache2.4/bin/apachectl graceful //重新加載配置文件(無需重啟apache)
    技術分享圖片
    在瀏覽器輸入主機地址看看是否進入
    技術分享圖片
    無法連接
    首先測試是否可以ping通,然後測試80端口是否通
    技術分享圖片
    經測試ip可以ping通,但是80端口不通,懷疑服務器防火墻沒有打開80端口
    iptables -nvL   //發現確實沒有80端口
    iptables -I INPUT -p tcp --dport 80 -j ACCEPT  //臨時打開80端口

    這時候在cmd中telnet 192.168.127.133 80 出現黑窗口,證明80端口已經測通

    重新在瀏覽器輸入IP地址
    技術分享圖片
    技術分享圖片

 vim /usr/local/apache2.4/htdocs/test.php //增加如下內容

<?php
phpinfo();
?>

在瀏覽器中打開http://192.168.127.133/test.php
技術分享圖片
成功顯示php5的配置文件

  • 如果apache無法解析php,而是顯示源代碼,那麽我們需要檢查以下項目
    1. /usr/local/apache2.4/bin/apachectl -M 檢查php擴展是否加載,有無
      /usr/local/apache2.4/modules/libphp5.so文件,確認是php問題還是apache配置問題
    2. 檢查apache配置
      loadmodule 是否加載php
      3.檢查apache配置
      AddType application/x-httpd-php .php 是否添加
      4.檢查apache配置
      5.DirectoryIndex index.html index.php 是否添加

40.apache與php結合、Apache默認虛擬主機