mac 利用brew安裝php開發環境--apache

安裝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

在phpStorm自動補全yaf命令

信息網址
利用類生成器生成IDE自動完成提示的用Yaf的所有類的簽名的PHP文件的腳本,然後在phpStorm中導入

發佈了59 篇原創文章 · 獲贊 4 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章