Mac 安裝php集成環境 2019年9月份最新

brew安裝php

  • 安裝最新的php7.3(關於brew,請另篇學習)

    brew install php
    
  • 記錄安裝後的一些信息,在後面要用

    # httpd.conf
    LoadModule php7_module /usr/local/opt/php/lib/httpd/modules/libphp7.so
    
    # php.ini and php-fpm.ini 文件所在目錄
    /usr/local/etc/php/7.3/
    

apache配置

啓動apache靜態服務
  • 終端輸入命令,啓動mac自帶apache服務
sudo apachectl start
  • 終端查看版本
sudo apachectl -v

Server version: Apache/2.4.33 (Unix)
Server built:   Apr  3 2018 23:45:11
  • 瀏覽器查看靜態服務是否啓動
localhost
127.0.0.1
  • 網頁顯示It works!
  • 代碼默認目錄
/Library/WebServer/Documents/
配置apache
  • 備份Apache httpd.conf配置文件
cd /etc/apache2
sudo cp httpd.conf httpd.conf.bak    # 備份
sudo cp httpd.conf.bak httpd.conf   # 恢復備份
  • 修改配置文件
/private/etc/apache2/
/private/etc/apache2/httpd.conf  # 與/etc/apache2/httpd.conf是同一個文件
  • 設置代碼目錄
找到:
DocumentRoot "/Library/WebServer/Documents"
<Directory "/Library/WebServer/Documents">

修改爲:(lx爲你的電腦用戶名)
DocumentRoot "/Users/lx/Sites"
<Directory "/Users/lx/Sites">
  • [可選操作]便沒有index.html也搜索目錄下的文件
// 搜索Options FollowSymLinks
Options FollowSymLinks Multiviews     // 沒有文件 顯示Forbidden 禁止訪問

// 更改爲
Options Indexes FollowSymLinks Multiviews   // 如果沒有index.html(php) 則顯示所有文件列表
綁定php解釋器
# LoadModule php5_module libexec/apache2/libphp5.so  // 去掉# 會使用php5
或
#LoadModule php7_module libexec/apache2/libphp7.so   // 去掉# 會使用系統自帶php7.1
LoadModule php7_module /usr/local/opt/php/lib/httpd/modules/libphp7.so  // 添加此行使用剛剛安裝的php7.3
  • 注意

    雖然網站運行代碼,已經綁定了brew安裝的php-fpm,但是終端運行,還是系統自帶php7.1,具體原因見番外。

  • 添加文件類型識別

 搜索
 DirectoryIndex index.html
  改成
 DirectoryIndex index.html index.php
啓用php默認設置
  • 切換目錄 並複製文件(2019年10月19日 這一步可跳過)
cd /etc
sudo cp php.ini.default php.ini // 這個是mac自帶的php配置 brew的配置見開頭安裝部分
  • 重啓Apache
sudo apachectl restart
或者
sudo apachectl -k restart

到此爲止,你在瀏覽器輸入localhost,即可正確解析php文件

虛擬主機與虛擬域名

啓用虛擬主機 設置虛擬域名

  1. 修改 /etc/apache2/httpd.conf 關聯host配置
# Virtual hosts
#Include /private/etc/apache2/extra/httpd-vhosts.conf

修改爲 (註釋掉#號)
# Virtual hosts
Include /private/etc/apache2/extra/httpd-vhosts.conf
  1. 備份文件
cd /etc/apache2/extra

sudo cp httpd-vhosts.conf httpd-vhosts.conf.bak  # 備份
sudo cp httpd-vhosts.conf.bak httpd-vhosts.conf # 恢復備份
  1. 打開 httpd-vhosts.conf 並按如下格式配置域名,2 5 6行見示例具體情況,不需要改動
<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot "項目地址"
    ServerName 虛擬域名
    ErrorLog "/private/var/log/apache2/dummy-host2.example.com-error_log"
    CustomLog "/private/var/log/apache2/dummy-host2.example.com-access_log" common
</VirtualHost>
  1. 使用iHosts軟件修改**/private/etc/host**文件添加常用域名
    示例
	127.0.0.1 blog.com
支持URL重寫 隱藏框架入口文件index.php
  1. 開啓模塊支持
搜索
#LoadModule rewrite_module libexec/apache2/mod_rewrite.so

去掉#
LoadModule rewrite_module libexec/apache2/mod_rewrite.so
  1. 設置**.htaccess**權限,將AllowOverride Node改爲 AllowOverride All 一共有三處 開啓此處即可
    # AllowOverride controls what directives may be placed in .htaccess files.
    # It can be "All", "None", or any combination of the keywords:
    #   AllowOverride FileInfo AuthConfig Limit
    #
    # AllowOverride None 此處None改成All
	
    AllowOverride All

番外 終端php與phpinfo版本不一致

  • 電腦上存在多版本的php是正常的,出現這種情況也是正常的

  • phpinfo顯示的版本,是apache LoadModule關聯的php,前文已經講過

  • 終端顯示的版本,是系統自帶的php

    這是因爲在2019年7月份之後,重裝的系統,brew link php時,無權寫**/usr/local/sbin目錄(不存在此目錄),導致設置環境變量失敗,創建/usr/local/sbin之後,再次執行brew link php**即可解決。

    注:此篇文章寫的相對比較簡寫,如果您遇到什麼問題,可以V信Q-rugulus

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章