MAC OS 搭建PHP開發環境

 

Mac下搭建php開發環境

Mac OS X 內置了Apache 和 PHP,這樣使用起來非常方便。本文以Mac OS X 10.6.3爲例。主要內容包括:

啓動Apache

運行PHP

安裝MySQL

使用phpMyAdmin

配置PHP的MCrypt擴展庫

設置虛擬主機

啓動Apache

 

有兩種方法:

打開“系統設置偏好(System Preferences)” -> “共享(Sharing)” -> “Web共享(Web Sharing)”

打開“終端(terminal)”,然後(注意:sudo需要的密碼就是系統的root帳號密碼)

運行“sudo apachectl start”,再輸入帳號密碼,這樣Apache就運行了。

運行“sudo apachectl -v”,你會看到Mac OS X 10.6.3中的Apache版本號:

Server version: Apache/2.2.14 (Unix)

Server built:   Feb 11 2010 14:40:31

這樣在瀏覽器中輸入“http://localhost”,就可以看到出現一個內容爲“It works!”的頁面,它位於“/Library(資源庫)/WebServer/Documents/”下,這是Apache的默認根目錄。

注意:開啓了Apache就是開啓了“Web共享”,這時聯網的用戶就會通過“http://[本地IP]/”來訪問“/Library(資源庫)/WebServer/Documents/”目錄,通過“http://[本地IP]/~[用戶名]”來訪問“/Users/[用戶名]/Sites/”目錄,可以通過設置“系統偏好設置”的“安全(Security)”中的“防火牆(Firewall)”來禁止這種訪問。

運行PHP

 

在終端中運行“sudo vi /etc/apache2/httpd.conf”,打開Apache的配置文件。(如果不習慣操作終端和vi的可以設置在Finder中顯示所有的系統隱藏文件,記得需要重啓Finder,這樣就可以找到對應文件,隨心所欲編輯了,但需要注意的是某些文件的修改需要開啓root帳號,但整體上還是在終端上使用sudo來臨時獲取root權限比較安全。)

找到“#LoadModule php5_module libexec/apache2/libphp5.so”,把前面的#號去掉,保存(在命令行輸入:w)並退出vi(在命令行輸入:q)。

運行“sudo cp /etc/php.ini.default /etc/php.ini”,這樣就可以通過php.ini來配置各種PHP功能了。比如:

;通過下面兩項來調整PHP提交文件的最大值,比如phpMyAdmin中導入數據的最大值

upload_max_filesize = 2M

post_max_size = 8M

;比如通過display_errors來控制是否顯示PHP程序的報錯

display_errors = Off

運行“sudo apachectl restart”,重啓Apache,這樣PHP就可以用了。

運行“cp /Library/WebServer/Documents/index.html.en /Library/WebServer/Documents/info.php”,即在Apache的根目錄下複製index.html.en文件並重命名爲info.php

在終端中運行“vi /Library/WebServer/Document/info.php”,這樣就可以在vi中編輯info.php文件了。在“It’s works!”後面加上“<?php phpinfo(); ?>”,然後保存之。這樣就可以在http://localhost/info.php中看到有關PHP的信息,比如版本號是5.3.1。

安裝MySQL

 

由於Mac OS X中並沒有預裝MySQL,所以需要自己手動安裝,目前MySQL的最穩定版本是5.1。MySQL提供了Mac OS X下的安裝說明。

下載MySQL 5.1。選擇合適的版本,比如這裏選擇的是mysql-5.1.46-osx10.6-x86_64.dmg。

運行dmg,會發現裏面有4個文件。首先點擊安裝mysql-5.1.46-osx10.6-x86_64.pkg,這是MySQL的主安裝包。一般情況下,安裝文件會自動把MySQL安裝到/usr/local下的同名文件夾下。比如點擊運行“mysql-5.1.46-osx10.6-x86_64.dmg”會把MySQ安裝到“/usr/local/mysql-5.1.46-osx10.6-x86_64”中。一路默認安裝完畢即可。

點擊安裝第2個文件MySQLStartupItem.pkg,這樣MySQL就會自動在開機時自動啓動了。

點擊安裝第3個文件MySQL.prefPane,這樣就會在“系統設置偏好”中看到名爲“MySQL”的ICON,通過它就可以設置MySQL開始還是停止,以及是否開機時自動運行。到這裏MySQL就基本安裝完畢了。

通過運行“sudo vi /etc/bashrc”,在bash的配置文件中加入mysql和mysqladmin的別名

#mysql

alias mysql='/usr/local/mysql/bin/mysql'

alias mysqladmin='/usr/local/mysql/bin/mysqladmin'

這樣就可以在終端中比較簡單地通過命令進行相應的操作,比如安裝完畢之後MySQL的root默認密碼爲空,如果要設置密碼可以在終端運行“mysqladmin -u root password "mysqlpassword"”來設置,其中mysqlpassword即root的密碼。更多相關內容可以參考B.5.4.1. How to Reset the Root Password。

注意:Mac OS X的升級或者其他原因可能會導致MySQL啓動或者開機自動運行,在MySQL的操作面板上會提示“Warning:The /usr/local/mysql/data directory is not owned by the 'mysql' or '_mysql' ”,或者在命令行下提示“Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)”,這應該是某種情況下導致/usr/local/mysql/data的宿主發生了改變,只需要運行“sudo chown -R mysql /usr/local/mysql/data”即可。

另外,使用PHP連接MySQL可能會報錯“Can’t connect to local MySQL server through socket ‘/var/mysql/mysql.sock’”,或者使用localhost無法連接MySQL而需要127.0.0.1,原因是連接時候php默認去找/var/mysql/mysql.sock了,但是MAC版本的MYSQL改動了文件的位置,放在/tmp下了。處理辦法是按如下修改php.ini:

mysql.default_socket = /tmp/mysql.sock

使用phpMyAdmin

 

phpMyAdmin是用PHP開發的管理MySQL的程序,非常的流行和實用。能夠實用phpMyAdmin管理MySQL是檢驗前面幾步成果的非常有效方式。

下載phpMyAdmin。選擇合適的版本,比如我選擇的是phpMyAdmin-3.3.2-all-languages.tar.bz2這個版本。

把“下載(downloads)”中的phpMyAdmin-3.32-all-languages文件夾複製到“/Users/[用戶名]/Sites”中,名改名爲phpmyadmin。

複製“/Users/[用戶名]/Sites/phpmyadmin/”中的config.sample.inc.php,並命名爲config.inc.php

打開config.inc.php,做如下修改:

用於Cookie加密,隨意的長字符串

$cfg['blowfish_secret'] = ''; 

 

當phpMyAdmin中出現“#2002 無法登錄 MySQL 服務器”時,

請把localhost改成127.0.0.1就ok了,

這是因爲MySQL守護程序做了IP綁定(bind-address =127.0.0.1)造成的

$cfg['Servers'][$i]['host'] = 'localhost';

 

把false改成true,這樣就可以訪問無密碼的MySQL了,

即使MySQL設置了密碼也可以這樣設置,然後在登錄phpMyAdmin時輸入密碼

$cfg['Servers'][$i]['AllowNoPassword'] = false;

這樣就可以通過http://localhost/~[用戶名]/phpmyadmin訪問phpMyAdmin了。這個時候就看到一個提示“無法加載 mcrypt 擴展,請檢查您的 PHP 配置。”,這就涉及到下一節安裝MCrypt擴展了。

配置PHP的MCrypt擴展

 

MCrypt是一個功能強大的加密算法擴展庫,它包括有22種算法,phpMyAdmin依賴這個PHP擴展庫。但是它在Mac OS X下的安裝卻不那麼友善,具體如下:

下載並解壓libmcrypt-2.5.8.tar.bz2。

在終端執行如下命令(注意如下命令需要安裝xcode支持):

cd ~/Downloads/libmcrypt-2.5.8/

./configure --disable-posix-threads --enable-static

make

sudo make install

下載並解壓PHP源碼文件php-5.3.1.tar.bz2。Mac OS X 10.6.3中預裝的PHP版本是5.3.1,而現在最新的PHP版本是5.3.2,你需要依據自己的實際情況選擇對應的版本。

在終端執行如下命令:

cd ~/Downloads/php-5.3.1/ext/mcrypt

phpize

./configure

make

cd modules

sudo cp mcrypt.so /usr/lib/php/extensions/no-debug-non-zts-20090626/

打開php.ini

sudo vi /etc/php.ini

在php.ini中加入如下代碼,並保存後退出,然後重啓Apache

extension=/usr/lib/php/extensions/no-debug-non-zts-20090626/mcrypt.so

當你再訪問http://localhost/~[用戶名]/phpmyadmin時,你會發現“無法加載 mcrypt 擴展,請檢查您的 PHP 配置。”的提示沒有了,這就表示MCrypt擴展庫安裝成功了。

設置虛擬主機

 

在終端運行“sudo vi /etc/apache2/httpd.conf”,打開Apche的配置文件

在httpd.conf中找到“#Include /private/etc/apache2/extra/httpd-vhosts.conf”,去掉前面的“#”,保存並退出。

運行“sudo apachectl restart”,重啓Apache後就開啓了它的虛擬主機配置功能。

運行“sudo vi /etc/apache2/extra/httpd-vhosts.conf”,這樣就打開了配置虛擬主機的文件httpd-vhost.conf,配置你需要的虛擬主機了。需要注意的是該文件默認開啓了兩個作爲例子的虛擬主機:

<VirtualHost *:80>

    ServerAdmin [email protected]

    DocumentRoot "/usr/docs/dummy-host.example.com"

    ServerName dummy-host.example.com

    ErrorLog "/private/var/log/apache2/dummy-host.example.com-error_log"

    CustomLog "/private/var/log/apache2/dummy-host.example.com-access_log" common

</VirtualHost>

<VirtualHost *:80>

    ServerAdmin [email protected]

    DocumentRoot "/usr/docs/dummy-host2.example.com"

    ServerName dummy-host2.example.com

    ErrorLog "/private/var/log/apache2/dummy-host2.example.com-error_log"

    CustomLog "/private/var/log/apache2/dummy-host2.example.com-access_log" common

</VirtualHost> 

而實際上,這兩個虛擬主機是不存在的,在沒有配置任何其他虛擬主機時,可能會導致訪問localhost時出現如下提示:

Forbidden

You don't have permission to access /index.php on this server

最簡單的辦法就是在它們每行前面加上#,註釋掉就好了,這樣既能參考又不導致其他問題。

增加如下配置

<VirtualHost *:80>

    DocumentRoot "/Users/[用戶名]/Sites"

    ServerName sites

    ErrorLog "/private/var/log/apache2/sites-error_log"

    CustomLog "/private/var/log/apache2/sites-access_log" common

</VirtualHost> 

保存退出,並重啓Apache。

運行“sudo vi /etc/hosts”,打開hosts配置文件,加入”127.0.0.1 sites“,這樣就可以配置完成sites虛擬主機了,這樣就可以用“http://sites”訪問了,其內容和“http://localhost/~[用戶名]”完全一致。

這是利用Mac OS X 10.6.3中原生支持的方式來實現的配置,也可以參考“Mac OS X Leopard: 配置Apache, PHP, SQLite, MySQL, and phpMyAdmin(一) ”和“Mac OS X Leopard: 配置Apache, PHP, SQLite, MySQL, and phpMyAdmin(二) ”。實際上,你還可以使用XAMPP或MacPorts這種第三方提供的集成方案來實現簡單的安裝和使用。

原文地址:http://hi.baidu.com/html5css3/item/024c1ab4d18bb59a18469746

 

補充:

 

If your personal web sharing is not working for a user but is OK at the localhost level, the issue may be a configuration file for the user.

The option to turn on web sharing in the System Preferences pane under “Sharing” may not turn to green or web sharing may work at the higher document root level of http://localhost/ and the page displays “It Works” but when going to the user level,  http://localhost/~username/ you get the:

Forbidden 403, You don’t have permission to access /~username/ on this server

Check that you have a “username.conf” filed under:

/etc/apache2/users/

If you don’t then create one named by the short username of the account with the suffix .conf, its contents should be (swapping out the real username):

cd /etc/apache2/users

sudo nano username.conf

Then add the content below swapping in your username:

<Directory "/Users/username/Sites/">
Options Indexes MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>

 

Permissions on the file should be:

-rw-r--r--   1 root  wheel  298 Jun 28 16:47 username.conf
 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章