用慣了在Windows上一個appserv或phpStudy壓縮包搞定,要在MAC上搗騰一個PHP開發環境還不大習慣。但自己親自配一下環境還是有所收獲的。眾所周知OSX上自帶了apache和php,所以這兩個搞起來還比較順利。裝MySQL的最新版5.6.22版頗費周折,本文詳細記錄之。
apache已經自帶了,只需如下三個命令就可以了。
開啟apache服務 sudo apachectl start
停止apache服務 sudo apachectl stop
重啟服務 sudo apachectl restart
查看版本 httpd -v
手動打開apache服務後,在浏覽器輸入localhost,將看到如下:
程序的根目錄在/Library/WebServer/Documents/ 下,這個It works 就是裡面的info.php打印出來的。下面介紹如何將apache的這個默認目錄更改到用戶目錄下。
1,在自己的用戶目錄下新建一個Sites文件夾,我的用戶目錄為yanzi
2,進到cd /etc/apache2/users/目錄下,sudo vim username.conf,內容為:
<CODE class=" hljs mathematica" sizcache09274155495107794="0.0.1" sizset="false"><Directory "/Users/yanzi/Sites/"> 2.AllowOverride All 3.Options Indexes MultiViews FollowSymLinks 4.Require all granted 5.</Directory>
上面第一行裡的yanzi就是用戶目錄。然後將該文件權限改為644:
sudo chmod 644 username.conf
3,進到/etc/apache2/目錄,sudo vim httpd.conf 將下面三句話的注釋去掉:
LoadModule authz_core_module libexec/apache2/mod_authz_core.so
LoadModule authz_host_module libexec/apache2/mod_authz_host.so
LoadModule userdir_module libexec/apache2/mod_userdir.so
前兩句應該已經不帶注釋了,把第三句注釋放開。
然後找到Include /private/etc/apache2/extra/httpd-userdir.conf 注釋放開。
PS:在vim下只要切換到命令模式,然後輸入/”words you need find”就能快速找到需要查找的詞。
4,進到/etc/apache2/extra/目錄,將Include /private/etc/apache2/users/*.conf 這句話放開注釋。
然後終端輸入:sudo apachectl restart 重啟apache,浏覽器輸入: loacal/~yanzi/ 就能看到效果了。(yanzi是我的用戶目錄的名字,後面不用再加/Sites)
經過以上步驟apache就搞好了。
PHP配置
PHP的配置非常簡單,就一個事,進到/etc/apache2/目錄,編輯httpd.conf,找到LoadModule php5_module libexec/apache2/libphp5.so將其放開注釋就行了。
然後sudo apachectl restart 重啟,在用戶目錄的Sites文件夾下,新建一個index.php,裡面echo phpinfo() ,就可以看到效果了:
安裝MySQL5.6.22
這個版本是最新的MySQL,安裝方法跟5.5的略有不同。在官網下載mysql-5.6.22-osx10.9-x86_64.dmg,下面是安裝方法:
1,雙擊安裝的時候,不要勾選StartUp Item這一項:
如此安裝完畢後,在設置---MySQL手動開啟MySQL服務。
我這裡已經打開了MySQL服務。下面要將其設置為開機自動啟動。
2,默認狀態下,我們用mysql的命令每次都要輸入全路徑,如sudo /usr/local/mysql/support-files/mysql.server start 開啟mysql服務,/usr/local/mysql/bin/mysql -v查看mysql版本,得先把bin目錄配到環境變量裡。切換到用戶根目錄 ,vim .bash_profile,輸入:
export PATH=”/usr/local/mysql/bin:$PATH”
保存後,source .bash_profile使環境變量生效。接著就可以直接在終端裡輸入mysql命令了。
最後,通過mysqladmin -u root password ‘yourpasswordhere’ 給mysql的root用戶設置密碼。單引號裡的內容就是要設的密碼。
3,修復socket error的問題。有一個負責mysql 服務器 客戶端通訊的socket文件,mysql的這個版本將其放在/tmp目錄,但是OSX卻默認的找 /var/mysql 這個目錄,所以要建個軟鏈接。新建目錄 /var/mysql, 然後sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock 就ok了。
4,讓mysql開機自動啟動。
sudo vim sudo nano /Library/LaunchDaemons/com.mysql.mysql.plist,裡面內容輸入:
KeepAlive
Label
com.mysql.mysqld
ProgramArguments
/usr/local/mysql/bin/mysqld_safe
–user=mysql
保存後,修改權限:
sudo chown root:wheel /Library/LaunchDaemons/com.mysql.mysql.plist
sudo chmod 644 /Library/LaunchDaemons/com.mysql.mysql.plist
sudo launchctl load -w /Library/LaunchDaemons/com.mysql.mysql.plist
這樣mysql就ok了!
phpMyAdmin的安裝
從http://www.phpmyadmin.net/home_page/downloads.php 下載,我下的是phpMyAdmin-4.4.2-all-languages.zip這個版本,將其解壓。然後最外層文件夾名字修改為phpmyadmin,進到~/Sites/phpmyadmin這個目錄,新建文件夾:mkdir config 修改讀寫權限:chmod o+w config
然後浏覽器輸入:http://localhost/~yanzi/phpmyadmin/setup/ (注意 中間的yanzi 換成自己的用戶名稱)
點擊 “新建服務器“,我上面已經新建好了,然後在這個界面:
密碼處輸入mysql的root用戶密碼。然後點擊“應用“,這樣config文件夾下就生成了config.inc.php,將該文件拷貝到phpmyadmin的根目錄下。然後刪除整個config文件夾。輸入http://localhost/~yanzi/phpmyadmin/ 就可以看到登陸phpmyadmin的界面了。 如此,phpMyAdmin搞定。
讀寫權限和分組問題
最後遺留一個讀寫權限和歸屬問題,如果本地開發測試的話,這個步驟可以忽略。如果想讓自己的mac切實作為一台服務器,那麼這個還要設置下的。這個步驟等同於在布阿裡雲代碼的時候,讓public_html文件夾的所有東西可寫,且歸屬於www一個意思。假設Sites文件夾下有個自己的項目:testsite
sudo chmod -R a+w ~/Sites/testsite 設置所有人都可以讀寫
sudo chown -R _www ~/Sites/testsite 設置testsite文件夾只歸屬_www組。
OK,PHP在MAC上的搭建到此結束。
參考文獻:
1.http://coolestguidesontheplanet.com/get-apache-mysql-php-phpmyadmin-working-osx-10-10-yosemite/
2.http://blog.csdn.net/henry121212/article/details/9210193 (參考這個沒有搞成功)
附一個設置php虛擬主機的鏈接:
http://coolestguidesontheplanet.com/set-virtual-hosts-apache-mac-osx-10-10-yosemite/#apacheuser
另外 ,如果你一不小心安錯了,那麼可以參考下面刪除mysql:
http://www.cnblogs.com/TsengYuen/archive/2011/12/06/2278574.html