安裝homebrew
注:在homebrew安裝的軟件安裝包存在/Users/liuende/Library/Caches/Homebrew/
ruby -e "$(curl -fsSLhttps://raw.github.com/mxcl/homebrew/go)"
安裝php70
注:如果web服務器是apache則加上–with–apache會在編譯的時候輸出libphp7.so,然後在httpd.conf中加載,路徑爲/usr/local/opt/php70/libexec/apache2/libphp7.so
brew install php70 --with--apache
- 安裝路徑爲/usr/local/Cellar/php70
- 由於mac自帶apache,在這一步安裝php70時也會下載apache,在mac中名字爲httpd,回覆蓋自帶的apache,所以結束安裝php70後,卸載httpd;
brew list
brew uninstall httpd*
- 查看php70信息
同時可以查看httpd.conf加載php7模塊的配置
brew info php70
安裝apache
注:mac自帶apache,配置文件目錄爲/etc/apache2/httpd.conf,服務器目錄/Library/Webserver/Documents
服務操作
sudo apachectl start/stop/restart
curl -I 127.0.0.1:80//查看服務是否打開
修改配置,加載php模塊
vim /etc/apache2/httpd.conf
加入下述代碼:
LoadModule php7_module /usr/local/opt/php70/libexec/apache2/libphp7.so
<FilesMatch .php$>
SetHandler application/x-httpd-php
</FilesMatch>
測試服務
vim /Library/WebServer/Documents/index.php
粘貼如下代碼
<html><body><h1>
<?php
phpinfo();
?>
</h1></body></html>
瀏覽器訪問127.0.0.1/index.php顯示phpinfo信息則配置正確
常見問題
httpd: Could not reliably determine the server’s fully qualified domain name, using liuendedeMacBook-Pro.local. Set the ‘ServerName’ directive globally to suppress this message
解決方法:
將httpd.conf中ServerName的註釋去掉,改爲127.0.0.1:80
安裝phpMyadmin
- 解壓重命名爲phpMyadim複製到/Library/WebServer/Documents/
- config.sample.inc.php,並命名爲config.inc.php
- 瀏覽器訪問127.0.0.1/phpMyadmin如果顯示數據庫登錄界面則成功
常見問題
You don’t have permission to access /phpMyadmin/ on this server.
解決方法:在httpd.conf中增加DirectoryIndex index.php
安裝mysql
brew install mysql
配置初始設置
mysql_secure_installation
卸載mysql
由官網下載的dmg安裝的mysql
sudo rm /usr/local/mysql
sudo rm -rf /usr/local/mysql*
sudo rm -rf /Library/StartupItems/MySQLCOM
sudo rm -rf /Library/PreferencePanes/My*
rm -rf ~/Library/PreferencePanes/My*
sudo rm -rf /Library/Receipts/mysql*
sudo rm -rf /Library/Receipts/MySQL*
sudo rm -rf /private/var/db/receipts/*mysql*
#edit /etc/hostconfig and remove the line MYSQLCOM=-YES-
brew安裝的mysql
brew uninstall mysql
brew cleanup
launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist //如果存在文件的話
rm ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist //如果存在的話
sudo rm -rf /usr/local/var/mysql//刪除數據庫文件
安裝yaf
注:利用brew安裝yaf未成功,後來手動安裝
- 下載地址
- 安裝配置
注:yafPATH爲解壓包路徑,PHP_BIN爲php的bin路徑,mac的brew安裝其路徑爲/usr/local/Cellar/php70/7.0.12_5/bin/
cd $yafPATH
$PHP_BIN/phpize
./configure --with-php-config=$PHP_BIN/php-config
make
make install
- 根據安裝提示獲取yaf.so路徑
注:本機路徑爲/usr/local/Cellar/php70/7.0.12_5/lib/php/extensions/debug-non-zts-20151012/yaf.so - 在php.ini中增加一行
extension=/usr/local/Cellar/php70/7.0.12_5/lib/php/extensions/debug-non-zts-20151012/yaf.so
出現錯誤如下:
Module ‘yaf’ already loaded in Unknown on line 0
查看其它的擴展:
php -m
發現在php.ini中都沒有聲明,所以考慮其加載方式不限於php.ini.
後來發現路徑/usr/local/etc/php/7.0/conf.d下存在文件ext-yaf.ini,修改文件路徑/usr/local/Cellar/php70/7.0.12_5/lib/php/extensions/debug-non-zts-20151012/yaf.so,同時在php.ini中註釋到原來的添加的,就不報錯了
- 測試
在瀏覽器中打開index.php,搜索yaf模塊,如果存在,則成功;
安裝xdebug
選擇php對應的版本
- 下載地址
注:debugPATH爲解壓包路徑,PHP_BIN爲php的bin路徑,mac的brew安裝其路徑爲/usr/local/Cellar/php70/7.0.12_5/bin/
cd $debugPATH
$PHP_BIN/phpize
./configure --enable-xdebug
make
make install
- 根據安裝提示獲取xdebug.so路徑
注:本機路徑爲/usr/local/Cellar/php70/7.0.12_5/lib/php/extensions/debug-non-zts-20151012/xdebug.so - 在php.ini中增加下述代碼
其中xdebug.remote_enable = on必須的剩下的根據實際情況
zend_extension=/usr/local/Cellar/php70/7.0.12_5/lib/php/extensions/debug-non-zts-20151012/xdebug.so
;是否開啓自動跟蹤
;xdebug.auto_trace= On
;是否開啓異常跟蹤
xdebug.show_exception_trace= On
;是否開啓遠程調試
xdebug.remote_enable = on
;調試插件dbgp
xdebug.remote_handler=dbgp
;是否收集變量
xdebug.collect_vars= On
;是否收集返回值
xdebug.collect_return= On
;是否收集參數
xdebug.collect_params= On
;是否開啓調試內容
;xdebug.profiler_enable=On
;調試輸出路徑
xdebug.profiler_output_dir ="~/Document/myphp/xdebug/profiler"
;跟蹤輸出路徑
xdebug.trace_output_dir="~/Document/myphp/xdebug/trace"
;顯示局部變量
;xdebug.show_local_vars=On