Mac OS X原 Apache 刪除後重裝方法,osapache
網上一直有說不建議刪除OSX內建的Apache,我也是手賤了
不過既然已經刪掉了,要用就得裝回來吧,順帶也更新升級
好吧,開動
直接上brew安裝吧,省時省力,如果喜歡手動也建議先弄個brew
先弄Apache吧,當時百度了半天不知道在哪裡下載
後來才知道原來這貨本名叫 httpd (臥槽……)
第一步:
--------------------------------------------------手動操作控--------------------------------------------------
Apache httpd:
下載連結:http://httpd.apache.org/download.cgi
這是PHP的,要下舊版本如 5.3 之類點右邊的 Old archives
下載連結:http://php.net/downloads.php
httpd 的安裝,先終端跑這句,32位的系統 host 用 i386
sudo ./configure --prefix=/usr/local/apache2 --with-apr=/usr/sbin/apr --with-apr-util=/usr/sbin/apr-util --host=amd64
運氣好肯定沒 error,運氣不好就先用 brew 裝那個 apr 和 apr-util 吧,缺什麼就 brew install 什麼
然後就 make && make install 吧,完事後檔案都跑到 /usr/local/apache2裡面去了
開啟 conf 裡面的 httpd.conf 配置ServerRoot、Listen Port、Module等
-----------------------------------------------------------------懶人控-----------------------------------------------------------------
缺什麼就 brew install 什麼
brew install httpd24斷行符號等待
然後添加PHP擴充庫
brew tap homebrew/dupesbrew tap homebrew/phpbrew tap josegonzalez/homebrew-php
如果有問題就先 brew update 一次再添加擴充
最後安裝 php,需要 5.4 就寫 php54,5.5 就 php55,會自動下載當前最新的子版本
例如我安裝 php53 就會下載 5.3.29
brew install php53斷行符號等待
如果報錯提示什麼 apxs,Apache 沒有使用 --enable-so,/usr/share/httpd/build 什麼的
先建立一個httpd的軟連結到 /usr/share,然後cd 到 httpd 的目錄下,接著
ln -s ./ /usr/share/httpd
再次安裝錯誤就解決了
brew 安裝的 httpd 設定檔在 /usr/local/etc/apache2/2.x/ 裡
-----------------------------------------------------------------控尾行-----------------------------------------------------------------
別高興得太早,還有很多細節得處理
第二步:
我們先來編輯編輯 httpd.conf 檔案
這裡有幾個我們需要修改的地方
1. ServerRoot,值為httpd所在目錄,一定不能錯
2. Listen,連接埠號碼,我習慣80
3. LoadModule,如果是手動安裝的php自己cp那個so檔案到httpd裡面的libexec目錄下;如果是brew安裝的
應該會自動添加一條類似LoadModule php5_module /usr/local/Cellar/php53/5.3.29/libexec/apache2/libphp5.so的
4. 看到 User Daemon 和 Group Daemon,Daemon 改成 _www 吧
5. ServerAdmin,管理員郵箱,可改可不改
6. ServerName,如果前面加了#號一定去掉,改成 localhost 或者 127.0.0.1
7. DocumentRoot,就是 Windows 下的 www 檔案夾,建議改到 /Users/使用者名稱/Sites,沒有Sites建立一個,
修改後下面的 <Directory 也要改成和 DocumentRoot 同樣值
改好了儲存,這個時侯我們還是訪問不了php的網頁,不信在Sites目錄裡寫個php檔案內容
<?phpphpinfo();?>
當然在開啟之前我們先終端跑一句:
sudo apachectl start
然後瀏覽器開啟localhost,是不是直接出來 php 代碼了 - -
好了,別被玩兒壞了,我們來解決這個問題
建立一個檔案吧,內容如分割線內:
--------------------------------------------------------------------------------------------------------------------
#
# Additional PHP Apache directives,
# part of the entropy.ch PHP package for Mac OS X
#
# For more information, go to http://www.entropy.ch/software/macosx/php/
#
# 這裡的 php module 路徑改成自己的 so 檔案所在位置
LoadModule php5_module /usr/local/Cellar/php53/5.3.29/libexec/apache2/libphp5.so
# 這個就是解決 php 顯示代碼的
<IfModule mod_php5.c>
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
# 這個是設定允許預設訪問 index.php
<IfModule mod_dir.c>
DirectoryIndex index.html index.php
</IfModule>
</IfModule>
--------------------------------------------------------------------------------------------------------------------
儲存為 php.conf,手動安裝 httpd 的孩紙把檔案放到 /etc/ 下吧
brew 的孩紙放到 /usr/local/etc/php/5.x/ 裡
然後再次編輯 httpd.conf 檔案
把 LoadModule 裡的 php5_module 這一行注釋掉(前面加上#)
在檔案末尾添加一句:
Include /etc/php.conf 或
Include /usr/local/etc/php/5.x/php.conf
然後儲存
第三步:
開啟 php 目錄裡面的 php.ini 檔案,找到 [Date],下邊有一行 ;date.timezone =
改為 date.timezone = PRC 儲存
可解決 PHP Warning: phpinfo(): It is not safe to rely on the system 問題