macOS Sierra安裝Apache2.4+PHP7.0+MySQL5.7.16

来源:http://www.cnblogs.com/ludashi/archive/2017/01/22/6202035.html
-Advertisement-
Play Games

Mac系統上雖然自帶PHP和Apache,但是有時不是我們想要的版本呢。今天我們就在macOS Sierra(10.12.1)上安裝比較新的版本的PHP版本,也就是PHP7.0+了。本篇博客我們安裝的Apache是2.4的版本, MySQL5.7.16。稍後會詳細介紹這一過程。 一、安裝前的準備 1 ...


Mac系統上雖然自帶PHP和Apache,但是有時不是我們想要的版本呢。今天我們就在macOS Sierra(10.12.1)上安裝比較新的版本的PHP版本,也就是PHP7.0+了。本篇博客我們安裝的Apache是2.4的版本, MySQL5.7.16。稍後會詳細介紹這一過程。 

一、安裝前的準備

1.安裝或更新Homebrew

Homebrew就不做過多贅述了,也不是在博客中第一次提到了,是Mac上不可或缺的包包管理器。下方截圖中是我本地使用的brew的版本信息,當然是目前最新的版本。在安裝上述相關內容之前,要確保你的brew是最新版本。關於Mac下Homebrew的安裝在此就不做過多贅述了,請自行Google

下方首先進行了brew update的更新操作,提示我當前的brew是最新的版本。我們可以通過brew -v來查看當前的brew版本。如果你對brew使用的不熟的話,可以使用brew -h來查看brew的相關命令操作。具體如下所示:

  

 

2.Xcode8.2

確保你的Xcode是最新版本,如果你的Xcode是8.2之前的版本的話,在你編譯PHP7.0+的時候會提示你“更新Xcode”版本,下方就是在Xcode8.1下編譯PHP7.0時報的錯誤。

  

所以,要保證你的Xcode是當前最新的版本,下方就是我更新後的Xcode8.2版本。

  

 

二、Apache2.4的安裝

當然,使用brew安裝Apache2.4是比較簡單的。下方就是安裝Apache2.4的命令。先使用brew的tap命令來創建Apache的倉庫,然後使用install命令來安裝Apache。此處要安裝的是Apache2.4,所以是brew install httpd24。如果你要安裝Apache2.2,那麼就是brew install httpd22

brew tap homebrew/apache

brew install httpd24

具體過程如下所示:

  

成功安裝完畢後,你可以使用brew info httpd24來查看你安裝的Apache2.4的具體信息。其中會有啟動Apache服務的相應命令。下方就是使用brew操作Apache伺服器的相應操作。

啟動Apache:brew services start homebrew/apache/httpd24

重啟Apache:brew services restart homebrew/apache/httpd24

關閉Apache:brew services stop homebrew/apache/httpd24

下方截圖中是具體的Apache的信息:

  

稍後安裝完PHP7.0後,我們會對Apache進行統一配置,不過我們可以先將Apache的服務進行啟動,先使用其預設配置。下方就是啟動後對我們Apache服務的訪問。當然預設是8080埠,所以你需要訪問的地址為:localhost:8080,訪問該地址你會看到下方的信息。在瀏覽器中可以訪問到下方的頁面,說明你的Apache已經成功安裝了。

  

 

三、MySQL的安裝

MySQL的安裝也是比較簡單的,之前我們在介紹Swift的Perfect服務端框架的時候用到過,也就是說我本地之前已經通過brew安裝過了MySQL資料庫了。當然如果你沒有安裝,那麼使用brew安裝MySQL也是比較簡單的。下方就是安裝mysql的命令,你需要等上一會兒,你的MySQL就安裝好了。

brew install mysql

按照之前的套路,安裝好MySQL資料庫後,你可以使用brew info mysql命令來查看相應的mysql的信息。下方就是我本地mysql相應的信息。從info中可以清楚的看到,在你初次安裝MySQL之後,會有一個沒有密碼的root供你登錄MySQL資料庫,登錄後你可以為root用戶設置一個密碼。

  

從上面的信息中,我們還可以看到啟動mysql伺服器的命令。當然,我們依然使用brew來啟動和關閉MySQL服務,如下所示:

啟動:brew services start mysql

重啟:brew services restart mysql

停止:brew services stop mysql

具體操作如下所示:

  

在之前的博客中也提到過,對MySQL的可視化管理,在Mac上的Sequel Pro還是比較好用的,如下所示:

  

 

四、PHP7.0的安裝

接下來,我們要使用brew來安裝PHP7.0了。在這個過程中遇到些問題,首先是Xcode版本的問題,我之前沒有升級最新的Xcode8.2,然後安裝PHP7.0時報錯,後來就升級了一下Xcode。然後又遇到了其他問題,稍後會介紹到。

 

1、查看PHP7.0信息

在使用Brew安裝PHP7.0之前,我們最好先看一下相應的安裝信息,因為使用brew安裝PHP時也是有些可選項的,如果有些可選項你沒有添加,那麼有可能在Apache中就無法使用,所以在安裝之前看一下PHP的相關信息還是比較好的。

下方就是使用brew info php70, 查看的相應信息,當然你也可以安裝PHP7.1。下方給出了衝突的PHP版本。並且給出了相應的依賴包。當然我們還沒有安裝PHP7.0所以大部分是打的X號。下方有些可選項,需要在安裝PHP7.0的使用使用。從下方我們可以清楚的看到,如果你要在Apache2.4上使用該PHP版本,那麼得加上--with-httpd24這個參數。這個參數是不可或缺的,如果你沒有添加,那麼你安裝的PHP將不能在相應的Apache上進行使用,如下所示。

  

 

2.創建PHP倉庫和安裝PHP7.0

下方就是PHP7.0安裝的命令。--with-httpd24必須得添加上,不然不能在Apache2.4上進行使用。

brew tap homebrew/php

brew install php70 --with-httpd24

下方是我在安裝PHP7.0時遇到的一個錯誤,直接使用brew install php70就可以安裝成功,而添加上--with-http24就會報下方的錯誤。在下方的錯誤提示中,給出瞭解決問題的相應連接“ https://github.com/Homebrew/homebrew-php/issues/3736”。在此github連接中找到了相應的解決方案,在終端執行xcode-select --install後,再reinstall就OK了。

  

 

3.查看安裝後的PHP相關信息

下方就是安裝好的PHP70的相關信息,當然,有些還是打叉的,如果需要,我們可以在後期進行添加。

  

在Info中有好多關鍵信息,下方這段就是PHP70在Apache中的配置,我們需要在Apache中的httpd.conf文件中,將下方的配置項加入進去即可,稍後會詳細介紹。

  

 

五、Apache配置

接下來我們就要配置我們的Apache伺服器了,當然,主要還是Apache2.4PHP7.0的關聯。上面也提到了,本篇博客我們主要對httpd.conf文件的配置。首先打開/usr/local/etc/apache2/2.4/httpd.conf文件,也就是Apache2.4的相關配置文件。

首先我們將相應的PHP版本配置進去,也就是PHP,Info中的那些配置信息粘貼到httpd.conf中。如下所示:

  

然後配置伺服器的文檔根目錄,如下所示:

  

如果需要的話,添加上index.php索引文件,如下所示:

  

重啟完Apache服務後,我們就可以對其進行測試了,在wwwdoc中添info.php方法,在文件中使用phpinfo()函數列印出相應的php信息。如下所示。

  

接下來我們就可以在瀏覽器中訪問這個info.php文件了,如下所示:

  

至此,本篇博客的內容就結束了,接下來就是在Mac下好好玩玩兒PHP了。好像有人戲說PHP是(拍 H 片)的簡稱,子曰:此乃神人也。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 網站的後臺,多數是需要使用datatable來展示數據的,因為datatable的功能比較強大,可以更好的使用。 引用css html代碼 js代碼 服務端代碼 ...
  • 現在的.NET Core 1.0版本是一個很小的核心,APIs和工具也並不完整,但是隨著.Net Core的不斷完善,補充的Apis和創新也會一起整合到.NET Framework中。 安裝centos系統 請自行安裝或百度教程 安裝 libicu包 和 dotnet 溫馨提示:如果需要用vsc編輯 ...
  • 方法里包括了圖片大小限制、圖片尺寸、文件內容等等的判斷。。。 該案例是mvc下的demo,支持單張圖片上傳。 一般處理程式 csharp public void ProcessRequest(HttpContext context) { context.Response.ContentType = ...
  • 關於C#調用廣州醫保HG_Interface.dll調用的一些總結(外部組件異常) ...
  • 在SuperSocket入門(二)中我們已經簡單瞭解了通過配置App.config文件使用BootStrap啟動SuperSocket服務。我們先來看一下上個案例中的基本配置文件示例: <?xml version="1.0" encoding="utf-8"?> <configuration> <c ...
  • 這個問題說起來,我有點慚愧 想當初在大學里學的就是ASP.NET WebForms 在實習期間也是用的WebForms來開髮網站,然後就覺得.NET開髮網站就是用這個開發模式 現在想想都想笑。。。實在忍不住了,我要笑了。哈哈哈!!! 好,回到正題 ASP.NET 是一個使用 HTML、CSS、Jav ...
  • 一、構造方法 類的構造方法是類的成員方法的一種,它的作用是對類中的成員進行初始化操作。類的構造方法分為: 1.靜態構造方法 2.實例構造方法 1.靜態構造方法 類的靜態構造方法是類的成員方法的一種,它的作用是對類中的靜態成員進行初始化操作。下麵請看代碼實例: 1 using System; 2 na ...
  • 1.直接在Global文件中配置: 1 var formatters = GlobalConfiguration.Configuration.Formatters; 2 var jsonFormatter = formatters.JsonFormatter; 3 var settings = js... ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...