使用MAMP在Mac OS X上安裝Apache、MySQL與PHP
文∕趙英傑
以前初次在iBook G4上安裝Dreamweaver MX 2004時,總無法連結到本機的Apache伺服器和MySQL資料庫系統。後來在Macromedia官方網站找到有關Mac版本的Bug訊息…因為軟體設計有問題,導致Mac版本無法連結到資料庫 🙁
這個Bug在後來發佈的升級程式中獲得解決。有一天遇到Macromedia美國原廠工程師,忍不住問他,為何Mac版的品質比不上Windows版?
他回答,因為熟悉Windows系統和PC架構的工程師多如過江之鯽,但是熟悉Mac系統的優秀工程師很難找,而且他們大多想進入蘋果、微軟、Adobe…等大公司,壓根兒不會想到Macromedia。
蘋果公司以前曾大力宣揚採用精簡指令集(RISC)架構的PowerPC,省電(發熱量較低)且效能高,擁有Pentium兩倍的運算速度…事實證明,先進的硬體也要有優秀的軟體工程師才能完全激發出它的潛藏威力。
Intel雙核心處理器打敗PowerPC
隨著處理器晶片設計日益複雜,PowerPC的消耗功率也越來越高,到最後,採用PowerPC G5的PowerMac竟然也得動用水冷散熱系統,甚至還因為PowerPC無法降低消耗功率,迫使蘋果轉向當初鄙視的Intel處理器,並且宣稱採用Intel Core Dual雙核心處理器的MacBook Pro效能,是採用PowerPC G4處理器的PowerBook的二到四倍!
以前我在iBook G4 800MHz上,使用iMovie + iDVD(4.0版)把兩小時的DV錄影帶轉成MPEG-2格式的DVD,沒有使用任何特效和濾鏡,大約耗時12小時!我問了一位蘋果行銷人員這個問題,他首先露出不可置信的表情,然後接著說「那是因為用Mac轉換出的品質比較好,所以要花比較多的時間」。
後來我改用Intel Core 2 Dual 1.83GHz的筆記型電腦,使用iDVD 6花費三個多小時,就搞定兩小時的DV影片!
當蘋果宣布將逐步改用Intel系列處理器後,國外的Macromedia討論區就有開發人員鼓掌叫好;當Adobe宣布併購Macromedia時,也受到許多Mac用戶的歡迎,因為在Adobe的加持下,Macromedia將獲得強化Mac版本的動能。在去年的MAX研討會上,某個原廠工程師在答覆用戶的問題時提到,Intel Mac版的Flex Builder(Flex的編輯器)的執行效能,比Windows版更快。
Adobe CS3系列軟體都有Intel原生版本,Mac用戶不用擔心被模擬器拖累速度。離題了…
啟用Mac OS X內建的Apache伺服器
Mac OS X已經內建Apache伺服器和PHP程式執行環境(解譯器),只要在System Preferences(系統偏好設定)面板的Internet & Network(網路)項目中,點選Sharing(共享),接著在「共享」設定畫面中,勾選Personal Web Sharing(個人網頁共享)選項,即可啟動Apache伺服器。
啟動系統內建的Apache伺服器後,只要在瀏覽器中輸入電腦的位址,後面加上您的用戶名稱,即可連結到本機網站,格式如下:
http://localhost/~您的用戶名稱
預設的個人網站根目錄的路徑如下:
/Users/用戶名稱/Sites/
例如,筆者在Mac OS X系統的用戶帳號是’cubie’,所以個人網站的根目錄路徑是:
/Users/cubie/Sites/
只要把HTML檔和相關的網頁資料存放到這個路徑,即可準備分享給全世界了。
安裝MAMP
Mac OS X並未內建MySQL資料庫系統與phpMyAdmin資料庫管理工具,在Mac上建構Apache + MySQL + PHP開發與測試環境最簡易的方法,是採用MAMP一次安裝所有必備的軟體(類似在Windows上採用AppServe安裝同樣的執行環境)。
讀者可以採用《碼上就會:Dreamweaver CS3 PHP、MySQL與AJAX》書本光碟裡的mamp_1.6.1.dmg進行安裝,或者到MAMP官方網站下載。安裝MAMP的方法非常簡單,雙按mamp_1.6.1.dmg映像檔後,螢幕上將出現底下的版權畫面,請按下"Agree(同意)"鈕:
接著,只要把"MAMP"資料夾拖入上方的"Applications(應用程式)"資料夾複製到磁碟機就算安裝完畢了 🙂
MAMP附帶一個用來啟動和關閉Apache和MySQL服器的Widget,檔名叫做"Mamp Control.wdgt",位於Applications(應用程式)資料夾裡的"MAMP"目錄中。使用之前,請先將它複製到系統的Widgets資料夾,路徑是:
/Users/用戶名稱/Library/Widgets
複製完畢後,開啟Dashboard(預設是按下F12功能鍵),把MAMP Control拖出來:
然後按下Mamp Control面板上的Start Servers(啟動伺服器)鈕,即可啟動Apache和MySQL。如果按下Widget底下的 i 鈕,將能選擇PHP語言的版本。
開啟MAMP網站首頁與phpMyAdmin
MAMP的網站根目錄位於/Applications/MAMP/htdocs路徑,請將HTML網頁和PHP程式放在這個資料夾。使用書本的PHP範例檔練習時,請把光碟根目錄裡的www資料夾內容全部複製到htdocs資料夾,如下所示(點圖可放大):
MAMP的Apache伺服器的預設埠號是8888(參閱書本第一章1-13頁說明),因此連結到本機MAMP網站的網址是:
http://localhost:8888/
因此,底下的網址將能開啟MAMP內建的phpMyAdmin管理工具:
http://localhost:8888/phpMyAdmin/
開啟phpMyAdmin之後,您可以從Language(語言)下拉式選單選擇「中文 – Chinese traditional」,切換成正體中文操作界面。
伺服器和PHP的組態設定檔都存放在conf資料夾的子資料夾,例如,Apache的組態設定檔位於/Applications/MAMP/conf/apache/httpd.conf,詳細的設定說明請參閱書本第一章1-15頁。
😳
真是好文章阿!小妹我一直很頭疼怎麼在mac上架站
這真的無疑是給我很大的幫助阿!
不過小妹我有幾個小疑問想請教您
首先您所出版的「碼上就會:Dreamweaver CS3 PHP、MySQL與AJAX」
是只有針對win os撰寫的嗎?還是也有含括mac os呢?
再來就是,小妹我按照您文章所教授的步驟
成功的將mamp套件安裝並啟動成功,我的phpMyadmin和apache也都有正常啟動
但是,您文中有提及所要展示的頁面必須托放置/Applications/MAMP/htdocs之中
就可正常測試網頁,但是我依照步驟操作,可是我的網頁一直無法正常顯示
不知道是啥原因呢?
我測試的URL是http://localhost/index.php
幾個問題希望能得到您的回應
謝謝:grin:
hi kai:
Dreamweaver軟體和PHP語言,並沒有Windows和Mac的區別,只是Adobe沒有推出Mac的中文版。書籍內容以Windows版本做介紹,所以截圖都是中文畫面,只有這個差別而已。
MAMP的Apache的預設埠號是8888,所以首頁的網址是:http://localhost:8888/index.php
你好
請問一下我在瀏覽php網頁時顯示正常..
但是mysql瀏覽資料庫資料時都顯示亂碼!!怎麼會這樣!!
我的MySQL charset: UTF-8 Unicode (utf8)
我的MySQL connection collation: utf8_unicode_ci
我的網頁檔案編碼 utf8
phpMyAdmin 資料表編碼 utf8_unicode_ci
請問這是哪邊出錯!!?
3Q!!
hi tim,
PHP網頁的資料庫連線敘述,請加上底下這一行:
mysql_query(“SET NAMES ‘UTF8′”);
jeffrey
看了這篇詳細的文章!
想說終於可以在我的小白上面架站了!
但在第二個步驟就stuck了!
http://localhost/~您的用戶名稱
我輸入後但是畫面出現這個–>Forbidden
You don’t have permission to access /~sen/ on this server.
所以也無法向下步驟邁進!請大大指教!!!
hi sen:
發生這個問題的原因應該是你的網站根目錄沒有存放首頁文件。
請在你的網站文件夾裡面存入一個 index.htm 檔,再測試看看。
jeffrey
但是我確定在我的sites裡面有index.htmㄟ@@
如果你的系統是Mac OS X 10.4,在 /etc/httpd/users/目錄底下,會有一個 [你的用戶名稱].conf檔。檔案的內容如下(請將 [ 和 ] 替換成小於和大於符號):
[Directory “/Users/你的用戶名稱/Sites/”]
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
[/Directory]
若系統是Mac OS X 10.5 (Leopard),請在 /private/etc/apache2/users 路徑底下自行建立一個 [你的用戶名稱].conf檔,這樣應該可以解決個人網站的權限問題。
hi
請問一個問題
安裝MAMP沒有問題
但在設定dreamweaver的MySQL connection時
卻顯示找不著任何的database
出現一個視窗顯示可能原因為no testing server running
不知可否指點迷經~
ㄟ~ 解決了
不過很奇怪的是
MySQL server 先不輸入資料
只輸入user 與 password 就不會有問題
就能找到database
但要按下ok時 又出現對話方塊要我輸入MySQL server
頗詭異
您好!
谢谢您的讲解!
有个问题想要请教,我在安装完MAMP之后,点击“WebStart”按钮,显示Error: Could not connect to MySQL server!;点击“launch phpMyAdmin”,显示“
#1045 – Access denied for user ‘root’@’localhost’ (using password: YES)
phpMyAdmin 尝试连接到 MySQL 服务器,但服务器拒绝连接。您应该检查配置文件中的主机、用户名和密码,并确认这些信息与 MySQL 服务器管理员所给出的信息一致。”
希望能得到您的帮助!
谢谢!
从错误信息看来,是MySQL的管理员(root)密码错误。我现在已经将Windows和Mac平台上的Apache + MySQL + PHP套件,全都改用成 XAMPP 了,提供你叁考。
have fun!
jeffrey
板主你好~~
我安裝了MAMP一下~~大部份都ok
只有開啟MAMP內建的phpMyAdmin管理工具有問題耶~~
是什麼問題呢?
謝謝
實際的問題要看錯誤訊息才知道,我現在已經不用MAMP,改用XAMPP了,提供你參考。
🙁
請問一下
http://localhost:8889/index.php
我這樣打的話,他只會直接叫我把檔案下載下來用Dreamweaver開
為什麽會這樣??
你的web server是設定在8889埠嗎?
嗯
佢本身設定左係8889
我見都用到所以無改到佢
但佢只會叫我直接下載下來,不能正常好像網頁般觀看
可能是web server的php模組沒有正確設定,所以server不知道如何處理php,建議先用xampp之類的簡易安裝程式測試看看。
請問一下
我裝好了PHP,可是一輸入
http://localhost/phpMyAdmin/index.php
它就給我直接下載一個index.php檔,這是為什麼啊??
謝謝~
hi 粗仔:
我記得MAMP套件裡的Apache伺服器是在8888或者8080的埠號上執行,請試試看:
http://localhost:8888/
have fun!
jeffrey
你好,不知怎樣我用dreamweaver駁database出現了這段字:
your php server doesn’t have the mysql module loaded
or you can’t use the mysql(p)connect functions
我preview 畫面正常不過駁不到database 我用mamp thx
hi ellen:
根據google給的答案,請找到php.ini檔案,去掉其中這一行前面的分號:
;extension=php_mysql.dll
存檔後,重新起動網站伺服器。
good luck!
jeffrey
你好,請問一下,我現在也是使用xampp,在用dreamweaver2017連database也出現了這段字:
your php server doesn’t have the mysql module loaded or you can’t use the mysql(p)connect functions
我也照你上面說的把;extension=php_mysql.dll前面的 ; 刪掉了
但問題依舊沒有解決,請問還有其他解決方式嗎?(順帶一提,我的系統是mac OS Sierra10.12.4)
請改用MAMP嘗試看看。
thanks,
jeffrey