PHP初步:在Mac OS X Yosemite下搭建Apache+PHP+Mysql

來源:互聯網
上載者:User

標籤:

Mac OS X是基於unix的作業系統,很多軟體都整合在系統中。所以,對於配置PHP的開發環境相對於windows和Linux更簡單。

1. 啟動Apache伺服器

開啟終端(terminal),查看Apache和PHP版本

$ apachectl -v && php -vServer version: Apache/2.4.9 (Unix)Server built:   Sep  9 2014 14:48:20PHP 5.5.14 (cli) (built: Sep  9 2014 19:09:25) Copyright (c) 1997-2014 The PHP GroupZend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies

啟動Apache伺服器,操作需要切換root使用者以避免用sudo時出問題。

注意,以下操作均為root使用者時操作,若不是root使用者,每條操作都需加sudo。

sudo su -apachectl start

補充:

重啟Apache伺服器

apachectl restart

關閉Apache伺服器

apachectl stop

查看版本

httpd -vapachectl -v

點擊 http://localhost/ 連結看到“It works!”則成功開啟Apache伺服器

2. 配置PHP

轉到Apache目錄下備份httpd.conf檔案

cd /etc/apache2/cp httpd.conf httpd.conf.bak

 備份好後,用vi開啟httpd.conf檔案,將LoadModule php5_module libexec/apache2/libphp5.so的#去掉

vi httpd.conf
#以下是httpd.conf檔案內容#LoadModule rewrite_module libexec/apache2/mod_rewrite.soLoadModule php5_module libexec/apache2/libphp5.so#LoadModule hfs_apple_module libexec/apache2/mod_hfs_apple.so<IfModule unixd_module>#在LoadModule的倒數第二行

重啟Apache伺服器

 apachectl restart

 查看預設伺服器根目錄 

 grep "DocumentRoot" httpd.conf

 終端顯示以下內容

# DocumentRoot: The directory out of which you will serve yourDocumentRoot "/Library/WebServer/Documents"

 用vi編寫info.php

vi /Library/WebServer/Documents/info.php

  在info.php中輸入

<?php    phpinfo();?>

開啟http://localhost/info.php 連結查看PHP版本資訊。

3. 安裝MySQL

點擊http://dev.mysql.com/downloads/mysql/ 選擇Mac OS X中MySQL的dmg檔案,download,(http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.23-osx10.9-x86_64.dmg)

下載完成後點擊安裝,然後同意且繼續直到完成安裝。安裝完成後,在“系統喜好設定中”開啟MySQL伺服器

 開啟MySQL伺服器後如

開啟MySQL伺服器之後就可以進行資料庫的操作了,在windows中習慣用命令列啟動MySQL,可以在Mac的終端設定別名。開啟終端,輸入以下命令:

alias mysql=‘/usr/local/mysql/bin/mysql‘

剛安裝好的MySQL的root使用者是沒有設定密碼的,為了安全在設定好MySQL的別名後,在終端輸入mysql,之後會顯示MySQL的資訊。

在命令提示字元後輸入

/usr/local/mysql/bin/mysqladmin -u root password 123456 

則密碼修改成功。

4. PHP串連資料庫

 在終端輸入以下命令:

cd /var mkdir mysqlcd mysqlln -s /tmp/mysql.sock mysql.sock

否則,會報warning。

終端輸入以下命令:

vi /Library/WebServer/Documents/dbconnect.php

 在建立的PHP檔案中輸入:

<?php$con = mysql_connect("localhost","root","123456");var_dump($con);if (!$con) {        die(‘Could not connect: ‘ . mysql_error());}else {        echo "connect success!";}// some code?>

 開啟http://localhost/dbconnect.php 查看串連結果。

5. 修改根目錄

根目錄是從檔案系統共用檔案的目錄位置,Mac OS X擁有兩種層級的web根目錄,系統級和使用者級。個人本地開發可以使用使用者級根目錄,這樣就少去了不得不保持root使用者的許可權約束,但也要修改相應配置。

Mac OS X的系統級根目錄URL為:http://localhost  對應的檔案目錄  /Library/WebServer/Documents/

Mac OS X的使用者級根目錄,對應檔案分享權限設定目錄為~/Sites,這個檔案目錄要自己建立,在普通使用者的家(~)目錄下

首先,在你自己的文檔中建立一個web根目錄。 我建立的目錄路徑為 ‘‘,然後在終端中輸入以下命令:

cd /etc/apache2/usersvi username.conf

在建立的檔案中輸入:

<Directory "/Users/NY/Sites/">AllowOverride AllOptions Indexes MultiViews FollowSymLinksRequire all granted</Directory>

 

再設定檔案許可權

chmod 644 username.conf

 

開啟httpd.conf

vi /etc/apache2/httpd.conf

 

載入模組,確保每行前的#都刪除

LoadModule authn_core_module libexec/apache2/mod_authn_core.so(模組載入的第6行)LoadModule authz_host_module libexec/apache2/mod_authz_host.so(模組載入的第7行)LoadModule userdir_module libexec/apache2/mod_userdir.so(模組載入的倒數第五行)

 然後,找到User home directories,刪除include前的#

# User home directoriesInclude /private/etc/apache2/extra/httpd-userdir.conf

 

接下來開啟另外一個檔案

vi /etc/apache2/extra/httpd-userdir.conf

去掉下列設定前的注釋

Include /private/etc/apache2/users/*.conf

 重啟Apache伺服器,則完成設定後開啟http://localhost/~NY/ 就可訪問我的本地Sites目錄

最後,啟用重新導向

vi /etc/apache2/httpd.conf

 

第258行把AllowOverride none 改為 AllowOverride all 

PHP初步:在Mac OS X Yosemite下搭建Apache+PHP+Mysql

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.