1. 安裝php?8.1
macOS12不再自帶php?
brew tap shivammathur/php
查看可安裝版本
brew search php
?安裝指定版本
brew install php@8.1
環境配置
vim ~/.zshrc
export PATH="/usr/local/opt/php@8.1/bin:$PATH"'
export PATH="/usr/local/opt/php@8.1/sbin:$PATH"'
export LDFLAGS="-L/usr/local/opt/php@8.1/lib"
export CPPFLAGS="-I/usr/local/opt/php@8.1/include"
source ~/.zshrc
驗證版本
php -v
如果需要配置
php --ini
啟動PHP服務器
可以通過在終端應用程序中運行以下命令來啟動 PHP 服務器:
php -S localhost:8000
此命令將在端口 8000 上啟動 PHP 服務器。
然后可以打開 Web 瀏覽器并轉到http://localhost:8000查看你的的 PHP 應用程序。
2. 自帶apache(推薦)
一般mac系統自帶,可以查看
驗證版本?
sudo apachectl -v
或者
httpd -v
?
Apache 服務器命令
sudo apachectl -k start //開啟Apache服務 sudo apachectl -k stop //停止Apache服務 sudo apachectl -k restart //重啟Apache服務
配置httpd.conf
sudo vi /private/etc/apache2/httpd.conf
- ?將 php的libphp.so(路徑:/usr/local/Cellar/php@8.1/8.1.28/lib/httpd/modules/libphp.so) 添加到apache中
/usr/local/Cellar/php@8.1/8.1.28/lib/httpd/modules/libphp.so
- 增加配置塊
<FilesMatch \.php$>SetHandler application/x-httpd-php
</FilesMatch>
- ??LoadModule actions_module libexec/apache2/mod_actions.so前面的#去掉
sudo apachectl -k start
如果報錯?
[so:error] [pid 73902] AH06665: No code signing authority for module at /usr/local/Cellar/php@7.1/7.1.33_10/lib/httpd/modules/libphp7.so specified in LoadModule directive.
重新簽名
Mac-codesign命令error: The specified item could not be found in the keychain-CSDN博客
鑰匙串訪問-- 證書助理--創建證書
?其他都默認
cd ~/Library/Keychains
?
先解鎖
security unlock-keychain login.keychain
給php動態簽名
sudo codesign --sign "mayCA" --force --keychain ~/Library/Keychains/login.keychain-db /usr/local/Cellar/php@8.1/8.1.28/lib/httpd/modules/libphp.so
httpd.conf配置?
sudo vi /private/etc/apache2/httpd.conf
添加下面一列?
LoadModule php_module /usr/local/Cellar/php@8.1/8.1.28/lib/httpd/modules/libphp.so "mayCA"
source /private/etc/apache2/httpd.conf
重啟
sudo apachectl -k restart
?瀏覽器訪問http://localhost:8080/,"It works!"表示服務已啟動?
?
3.測試PHP運行
touch /Library/WebServer/Documents/info.php
<?php
echo "hello,may!"
?>
可以在瀏覽器中輸入?http://127.0.0.1/info.php,如果一切正常將會出現 PHP?信息的頁面?
4. 通過brew安裝apache(補充)
brew install httpd
brew install lynx
啟動apache服務
brew services start httpd
sudo apachectl status
?
sudo apachectl start
sudo vi /usr/local/etc/httpd/httpd.conf
?
LoadModule php7_module /usr/local/Cellar/php@7.1/7.1.33_10/lib/httpd/modules/libphp7.so
source /usr/local/etc/httpd/httpd.conf
配置同自帶apache,路徑有點差別
sudo apachectl restart
訪問http://localhost:8080/