Skip to content

林豬豬

個人文章或筆記

Menu
  • 首頁
  • PHP
  • MariaDB
  • Mac
  • Windows
  • Java Servlet
  • 軟體設計
  • 其他
Menu

Mac上安裝Apache、PHP、Composer

Posted on 2023 年 2 月 15 日

需具備:Homebrew
我的Mac電腦內建版本為:PHP 7.3.29 / Apache 2.4.54

1.查看homebrew上有哪些php版本:

brew search php

2.依照所需安裝php版本(Server上所使用的版本):

brew instal php@8.0

安裝後可以從終端機中取得基本設定資訊
並且php.ini位置在:/usr/local/etc/php/8.0/

3.修改環境變數:將php換成php@8.0,並重新載入.zshrc。

echo 'export PATH="/usr/local/opt/php@8.0/bin:$PATH"' >> ~/.zshrc
echo 'export PATH="/usr/local/opt/php@8.0/sbin:$PATH"' >> ~/.zshrc
export LDFLAGS="-L/usr/local/opt/php@8.0/lib"
export CPPFLAGS="-I/usr/local/opt/php@8.0/include"
source ~/.zshrc

(輸入where php可發現參照位置增加了)(輸入php -version版本變成PHP 8.0.28)

3.安裝Apache Http Server

brew instal httpd

安裝後可得知Web資料夾預設位置為:/usr/local/var/www
httpd.conf位置在:/usr/local/etc/httpd/httpd.conf
預設port為:8080(http),8443(https)
http預設埠為80,你也可以將8080改為80,只需輸入localhost即可進入網頁,無需指定連接埠。

4.設定:
打開httpd.conf設定ServerName,本機使用輸入localhost。預設埠為8080不需修改。

# 變更:網址(本機)(localhost = 127.0.0.1)
ServerName localhost

5.啟動伺服器

brew services start httpd

注意:如果你有使用過內建的Apache開啟過網站,要注意是否有log檔殘留,如果有則會啟動失敗。
(活動監視器中選擇CPU並搜尋httpd會發現後台沒有運行Server程序。)
可輸入brew services list查看httpd的狀態,若顯示error 256則可能為此狀況。
輸入apachectl -e error可得知httpd權限被拒絕,無法打開錯誤日誌。
進到存放log日誌的位置(/private/var/log/apache2/)後刪除即可。

6.進入網頁:顯示Is works.代表起動成功。

開啟本機網頁

7.修改index.html內容,為了測試php是否正確啟用,並儲存成index.php(記得把index.html改掉或刪掉):

<html><body><h1>It works!</h1></body></html>
<?php
print("正確啟用PHP");
?>

8.修改httpd.conf來執行PHP模組:將以下指令依照原內容添加?

# 變更:載入PHP模組(8.0)
LoadModule php_module /usr/local/opt/php@8.0/lib/httpd/modules/libphp.so

# 變更:載入PHP模組
<FilesMatch \.php$>
SetHandler application/x-httpd-php
</FilesMatch>

# 變更:讓伺服器使用php做為預設首頁
<IfModule dir_module>
    DirectoryIndex index.php index.html
</IfModule>

9.重啟Apache:(當你設定httpd.conf後要重新啟動伺服器才能套用設定)

brew services restart httpd

(看到「Is works!」下方出現「正確啟用PHP」恭喜你!你已經完成安裝了!)

10.安裝Composer(PHP的軟體套件管理工具)

brew instal composer

(安裝後輸入composer -v看到版本即安裝完成。)

補充:

httpd.conf建議修改:(請翻閱文本一條一條貼上,整個覆蓋將導致損壞)(建議複製一個副本以免損壞無法復原)

# 變更:監聽埠
Listen 80

# 變更:啟用SESSION模組(保持登入)
LoadModule session_module lib/httpd/modules/mod_session.so

# 變更:更改網址顯示方式(偽靜態設定)
LoadModule rewrite_module lib/httpd/modules/mod_rewrite.so

# 變更:根目錄位置修改。(網頁入口位置)
DocumentRoot "[自訂資料夾]"
# 變更:網站資料夾位置修改。
<Directory "[自訂資料夾]">
    # Directory範圍到/Directory注意裡面有其他設定別直接覆蓋
    # 變更:禁止顯示目錄
    Options FollowSymLinks
    # 變更:讓伺服器使用.htacess配置檔
    AllowOverride All
</Directory>
# 變更:設定錯誤紀錄存放位置
ErrorLog "[自訂資料夾]/[自訂名稱].log"

小技巧:可以製作一個重啟Web Restart.command方便重啟,記得給與相應權限。

<pre class="wp-block-syntaxhighlighter-code"><code>#!/bin/bash
#初次使用請給予此檔案相應權限:chmod 751 [檔案位置]
#重新啟動Mac內建Apache時改使用此命令:sudo apachectl restart
echo -----------------重啟apache-----------:
brew services restart httpd
echo -----------------完成-----------------。</code></pre>

補充:編輯httpd.conf後可以使用此指令檢查有問題
apachectl configtest
如有遇到寫入error log權限不足問題,請於終端機輸入以下指令(更改為_www使用者與群組):
sudo chown -R _www:_www /[專案資料夾log檔案夾位置]

發佈留言 取消回覆

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

彙整

  • 2024 年 1 月
  • 2023 年 11 月
  • 2023 年 9 月
  • 2023 年 6 月
  • 2023 年 5 月
  • 2023 年 3 月
  • 2023 年 2 月
  • 2022 年 10 月
  • 2022 年 9 月
  • 2022 年 8 月
  • 2022 年 6 月

近期文章

  • 資料控制語言DLC
  • 資料定義語言DDL
  • Laravel身份認證與Passport身分驗證套件
  • RollBack回到交易機制啟動前的狀態
  • 刪除DELETE

近期留言

  1. 「WordPress 示範留言者」於〈網站第一篇文章〉發佈留言

豬豬説:那些你所逃避的,會在你需要的時候回來賞你一巴掌。

  • GitHub
  • Instagram
  • Mail
©2025 林豬豬 | Design: Newspaperly WordPress Theme